您的位置:首页 > 大数据 > 人工智能

ZJU-PAT 1079. Total Sales of Supply Chain (25) 浙大2014年上机复试第三题

2014-04-03 16:49 609 查看
#include<iostream>
#include<cstdio>
using namespace std;

struct Node
{
int parent;  //父节点
bool flag;  //是否是retailers
int level;   //第几层
int num;    //销售多少个
};
Node tt[100005];

int n;
double p,r,sum;

int Jisuan(int num)
{
if(tt[num].level!=-1)
return tt[num].level;
else
return Jisuan(tt[num].parent)+1;
}

double Count[100005];

void run()
{
scanf("%d",&n);
scanf("%lf%lf",&p,&r);

Count[0]=p;
for(int i=1; i<100005; i++)
{
Count[i]=Count[i-1]*(1.0+r/100.0);
}

for(int i=1; i<n; i++)
{
tt[i].level=-1;
}
tt[0].level=0;

for(int i=0; i<n; i++)
{
int tmp;
scanf("%d",&tmp);

if(tmp==0)
{
scanf("%d",&tmp);
tt[i].flag=true;
tt[i].num=tmp;
}
else
{
tt[i].flag=false;
for(int j=0; j<tmp; j++)
{
int t;
scanf("%d",&t);
tt[t].parent=i;
}
}
}

for(int i=1; i<n; i++)
{
tt[i].level=Jisuan(i);
}
sum=0.0;
for(int i=0; i<n; i++)
{
if(tt[i].flag==true) sum+=tt[i].num*Count[tt[i].level];
}
printf("%.1lf\n",sum);
}

int main()
{
run();
return 0;
}


#include<iostream>
#include<cstdio>
#include<queue>
using namespace std;

const int N=100005;

struct Node
{
int parent;  //父节点
vector<int> child; //孩子
int level;   //第几层
int num;    //销售多少个
};
Node tt
;

int n;
double p,r,sum;

double Count
;

void BFS()
{
queue<Node> Q;
Q.push(tt[0]);
tt[0].level=0;

while(!Q.empty())
{
Node tmp=Q.front();
Q.pop();

for(int i=0;i<tmp.child.size();i++)
{
tt[tmp.child[i]].level=tmp.level+1;
Q.push(tt[tmp.child[i]]);
}
}
}

void Init()
{
scanf("%d",&n);
scanf("%lf%lf",&p,&r);

Count[0]=p;
for(int i=1; i<N; i++)
{
Count[i]=Count[i-1]*(1.0+r/100.0);
}

for(int i=0; i<n; i++)
{
int tmp;
scanf("%d",&tmp);

if(tmp==0)
{
scanf("%d",&tmp);
tt[i].num=tmp;
}
else
{
tt[i].num=0;
for(int j=0; j<tmp; j++)
{
int t;
scanf("%d",&t);
tt[t].parent=i;
tt[i].child.push_back(t);
}
}
}
}

void Jisuan()
{
sum=0.0;
for(int i=0; i<n; i++)
{
if(tt[i].num) sum+=tt[i].num*Count[tt[i].level];
}
printf("%.1lf\n",sum);
}

int main()
{
Init();
BFS();
Jisuan();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: