日记

2024.4.12

这两天写了一个洛谷题——P2141 [NOIP2014 普及组] 珠心算测验
我写的题解是这样的

#include<stdio.h>
void f(int *num){
    scanf("%d",num);
    int a[110];
    int b[110];
    for(int i=0;i<110;i++){
        a[i]=0;
        b[i]=0;
    }
    for(int i=0;i<*num;i++){
        scanf("%d",&a[i]);
    }
    int c=0;
   // for(int i=0;i<*num;i++){
    //    for(int j=0;j<i-1;j++){
     //       for(int p=j+1;p<i;p++){
       //         if(a[i]==a[j]+a[p]&&b[i]==0&&i!=j&&i!=p) {
      //              c++;
       //              b[i]=1;
        //        }
       //     }
       // }
   // }
   for(int i=0;i<*num-1;i++){//左边界
    for(int j=i+1;j<*num;j++){//右边界
        for(int p=0;p<*num;p++){//暴力枚举
            if(a[i]+a[j]==a[p]&&p!=j&&p!=i&&b[p]==0){
                c++;
                b[p]=1;
            }
        }
    }
   }
    printf("%d",c);
}
int main(){
    int num=0;
    f(&num);
    return 0;
}

以上题解不应该用注释中的算法,而应该用下面的

posted @ 2024-04-12 19:23  pengfu_xin  阅读(5)  评论(0编辑  收藏  举报