首页 > 代码库 > 1-22
1-22
前一段基本是做一天题目就休息一天到两天,假期里状态不大好,还感冒了几天...
乙级1010
代码
1 #include<cstdio> 2 const int maxn=1010; 3 int main() 4 { 5 int n,e,a[maxn]={0},count=0;//n系数,e指数 6 while(scanf("%d%d",&n,&e)!=EOF) 7 { 8 a[e]=n; 9 } 10 a[0]=0; 11 for(int i=1;i<=1000;i++) 12 { 13 a[i-1]=a[i]*i; 14 if(a[i]!=0) 15 count++; 16 } 17 if(count==0) 18 printf("0 0"); 19 else 20 { 21 for(int i=1000;i>=0;i--) 22 { 23 if(a[i]!=0) 24 { 25 printf("%d %d",a[i],i); 26 count--; 27 if(count!=0) 28 printf(" "); 29 } 30 } 31 } 32 33 return 0; 34 }
初次接触枚举,省去了许多麻烦
甲级1002
题意:每个测试用例有两行,每行第一个数字表示多项式中非零项的个数,后面是先指数后系数的规律,最后输出多项式相加,格式和输入相同
思路:要注意到系数用double型,用一个数组表示系数和指数的关系
1 #include<cstdio> 2 const int maxn=1111; 3 double p[maxn]={}; 4 int main() 5 { 6 int k,n,count=0; 7 double a; 8 scanf("%d",&k); 9 for(int i=0;i<k;i++) 10 { 11 scanf("%d %lf",&n,&a); 12 p[n]+=a; 13 } 14 scanf("%d",&k); 15 for(int i=0;i<k;i++) 16 { 17 scanf("%d %lf",&n,&a); 18 p[n]+=a; 19 } 20 for(int i=0;i<maxn;i++) 21 { 22 if(p[i]!=0) 23 count++; 24 } 25 printf("%d",count); 26 for(int i=maxn-1;i>=0;i--) 27 { 28 if(p[i]!=0) 29 printf(" %d %.1f",i,p[i]); 30 } 31 return 0; 32 }
1-22
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。