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 }
甲级1002
复制代码

    

    

posted @   四季信风  阅读(233)  评论(0编辑  收藏  举报
编辑推荐:
· 使用 .NET Core 实现一个自定义日志记录器
· [杂谈]如何选择:Session 还是 JWT?
· 硬盘空间消失之谜:Linux 服务器存储排查与优化全过程
· JavaScript是按顺序执行的吗?聊聊JavaScript中的变量提升
· [杂谈]后台日志该怎么打印
阅读排行:
· 2000 Star,是时候为我的开源项目更新下功能了
· 面试官:DNS解析都整不明白,敢说你懂网络?我:嘤嘤嘤!
· [WPF UI] 为 AvalonDock 制作一套 Fluent UI 主题
· 基于.NET WinForm开发的一款硬件及协议通讯工具
· 内网穿透之http代理服务器
点击右上角即可分享
微信分享提示