问题标题: 酷町堂:5564 整数和(datasum)

0
0

0
已采纳
熊智晖
熊智晖
高级天翼
高级天翼

cin>>n;

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

cin>>a[i];

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

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

for(int k=j+1;k<=n;k++){

if(a[i]+a[j]==a[k]){

b[a[k]]++; } } } }

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

if(b[i]>0) cnt++; }

cout<<cnt;

0
0
0
朱优扬
朱优扬
中级天翼
中级天翼

用桶:

    循环i:1~n{
        输入>>a[i];
        b[a[i]]=true;
    }
    循环i:1~n{
        循环j:i+1~n{
            定义 tmp=a[i]+a[j];
            如果(tmp<=1000&&b[tmp]==true){ //顺序一定不能调换
                cnt++;
                b[tmp]=false;
            }
        }
    }

 

0
李奕歌
李奕歌
初级天翼
初级天翼

核心:

for(int i=1;i<=n;i++){
        for(int j=i+1;j<=n;j++){
            for(int k=j+1;k<=n;k++){
                if(a[i]+a[j]==a[k]){
                    b[a[k]]++;
                }   
            }
        }
    }

    for(int i=1;i<=1000;i++){
        if(b[i]>0) cnt++;
    }

 

0
0
0
我要回答