pat 1079(patients)

网友投稿 214 2022-09-21


pat 1079(patients)

1.Pat-1079 2.源代码 #include #include #include #include using namespace std; #define maxSize 100010 typedef struct { int weight;//仓库中的数据 vector child;//使用vector存储孩子节点---->节省空间 }BiTree; BiTree bt[maxSize];//申请一个这么大的BiTree类型数组 double sum = 0.0;//存储总得金钱数 double p,r;//number是结点个数,p是价格,r是增长率 //深度遍历 void DFS(int index,int depth){//index是结点下标,depth是结点的深度 if(bt[index].weight!=0){//判断是否是retailer int i;//循环计算变量 double temp = p;//临时变量 // for(i = 0;i< depth;i++){ // temp = temp*(1+r/100); // } temp = pow((1+r/100),depth) * temp; temp = temp*bt[index].weight; sum += temp;//计算总数 } int k; for(k = 0;k < bt[index].child.size();k++ ){ DFS(bt[index].child[k],depth+1); } } int main(){ int n; scanf("%d %lf %lf",&n,&p,&r);//输入信息 int i,j; int number, cd;//number表示的是数字,cd表示的是孩子结点下标 for(i = 0;i< n;i++){ scanf("%d",&number); if(number != 0){ bt[i].weight = 0;//将非retailer的结点重量初始化为0 for(j = 0; j< number;j++){ scanf("%d",&cd); bt[i].child.push_back(cd);//加入到数组下标中 } } else{//是retailer,则输入囤货重量 scanf("%d",&bt[i].weight); } } DFS(0,0);//深度遍历 printf("%.1lf",sum); } /** 10 1.80 1.00 3 2 3 5 1 9 1 4 1 7 0 7 2 6 1 1 8 0 9 0 4 0 3 */ /**验证输出 for(i = 0;i < n;i++){ printf("i = %d,",i); if(bt[i].child.size() > 0){ for(j = 0;j #include int main(){ int result; result = pow(2,3); printf("2^3 = %d\n",result); double re = pow(0.1,3); printf("0.1^3 = %lf\n",re); } 同样在C中也可以实现 #include #include #include using namespace std; int main(){ int result; result = pow(2,3); printf("2^3 = %d\n",result); double re = pow(0.1,3); printf("0.1^3 = %lf\n",re); }


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Pat 1020(patients)
下一篇:java中的抽象类和接口定义与用法详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~