结果不对,不知道哪里错[哭]

P2141 [NOIP2014 普及组] 珠心算测验

首先,一个数+一个数只能统计一次,比如i=1,j=2时可以,那么i=2,j=1时答案一样不用统计,然后你数组不能用num[n+1],提前开好最大值。
by Hhggi @ 2022-08-18 11:43:44


第一 您的搜索第一层循环边界错了 第二 您的搜索的判断条件错了,应该开一新数组来体现出该数字时候是否被用过 、 第三 您的for循环写错了 应该为 ```cpp for(int i = 1 ; i < n ; i++) for(int j = i + 1 ; j <= n ; j++) for(int k = 1 ; k <= n ; k++) ``` 下面是您的code我改了改ac的code ```cpp #include<iostream> using namespace std; bool vis[10000010]; int main(){ int n,ans=0; cin>>n; int num[n+1]; for(int i=1;i<=n;i++) cin>>num[i]; for(int i=1;i<n;i++) for(int a=i+1;a<=n;a++) for(int b=1;b<=n;b++) if(num[i]+num[a]==num[b] && vis[b]==false) ans++ , vis[b] = true; cout<<ans; } ``` 还有建议改改码风(这么写很难查错
by Bker_ @ 2022-08-18 12:11:31


@[HCGZS](/user/730477)
by Bker_ @ 2022-08-18 12:11:44


@[Hhggi](/user/182796) 懂了哈哈,不用用"您" ![https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fthumbs.gfycat.com%2FAccomplishedBelatedGarpike-max-1mb.gif&refer=http%3A%2F%2Fthumbs.gfycat.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1663409341&t=2e6199c879531f7cd19fb38ea4c67cc6](https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fthumbs.gfycat.com%2FAccomplishedBelatedGarpike-max-1mb.gif&refer=http%3A%2F%2Fthumbs.gfycat.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1663409341&t=2e6199c879531f7cd19fb38ea4c67cc6)
by HC_Lin @ 2022-08-18 18:09:32


@[Hhggi](/user/182796) ## 懂了 # Thanks ![https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fthumbs.gfycat.com%2FAccomplishedBelatedGarpike-max-1mb.gif&refer=http%3A%2F%2Fthumbs.gfycat.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1663409341&t=2e6199c879531f7cd19fb38ea4c67cc6](https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fthumbs.gfycat.com%2FAccomplishedBelatedGarpike-max-1mb.gif&refer=http%3A%2F%2Fthumbs.gfycat.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1663409341&t=2e6199c879531f7cd19fb38ea4c67cc6)
by HC_Lin @ 2022-08-18 18:10:21


|