问题标题: 酷町堂:酷町堂:1616 擦数游戏(game)

0
0
已解决
刘逸泽
刘逸泽
初级守护
初级守护

1616   擦数游戏(game)

经验值:800 时间限制:1000毫秒

包河区2017年信息学竞赛试题

不许抄袭,一旦发现,直接清空经验!

题目描述 Description

小红喜欢玩一个擦数的游戏:黑板上写了n个数,每次任意擦去两个数,再写上这两个数的和减1的差,例如:擦掉9和13,要写上21。经过几次后,黑板上就会剩下一个数,请你编程数出游戏操作的次数和最后剩下的这个数。

输入描述 Input Description

第1行输入n(0<=n<=100000)
第2行输入这n个数字的值

输出描述 Output Description

第一行输出经过几次后黑板上才会剩下一个数
第二行输出最后剩下的这个数

样例输入 Sample Input

6 8 9 10 11 12 13

样例输出 Sample Output

5 58

错误代码:

  • #include<iostream>
  • #include<cstdio>
  • #include<cmath>
  • using namespace std;
  • int main() {
    • long long s1=0,s2=0,s3=0,n,x=0,y=0,z=0,a=0,b,c,d,e,f,m;
    • cin>>n;
    • for(long long i=1;i<=n;i++){
      • cin>>x;
      • y=z;
      • if(a=0){
        • continue;
      • }
      • z=x+y-1;
      • a=1;
    • }
    • cout<<n-1<<"\n";
    • cout<<z+1;
    • return 0;
  • }

 


1
已采纳
李宜和
李宜和
高级启示者
高级启示者

if(n==0){

    cout<<0<<endl;

    cout<<0;

}else{

    for(int i=1;i<=n;i++){

        cin>>b;

        cnt++;

        sum+=b;

        if(cnt>=2){

            sum-=1;

        }

    }

    cout<<cnt-1<<endl;

    cout<<sum;

}

核心

1
朱小川
朱小川
缔造者
缔造者

for(int i=1;i<=n;i++){ cin>>a; sum+=a; } if(n==0){ cout<<0<<endl<<0; } else{ cout<<n-1<<endl; cout<<sum-(n-1); }

核心

0
我要回答