珠心算测验求救

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

~~这题不是用桶吗~~
by 明依 @ 2019-04-27 09:42:00


```c #include<bits/stdc++.h> using namespace std; int a[100010],b[100010]; int main() { int n,c[100010],ans=0; cin>>n; memset(b,0,sizeof(b)); for(int i=1; i<=n; i++) { cin>>c[i]; a[c[i]]++; } for(int i=1; i<n; i++) { for(int j=i+1; j<=n; j++) b[c[i]+c[j]]++; } for(int i=1; i<=100010; i++) { if(b[i]>0&&a[i]) ans++; } cout<<ans; return 0; } ```
by 明依 @ 2019-04-27 09:43:08


#include<bits/stdc++.h> using namespace std; int a[100010],b[100010]; int main() { int n,c[100010],ans=0; cin>>n; memset(b,0,sizeof(b)); for(int i=1; i<=n; i++) { cin>>c[i]; a[c[i]]++; } for(int i=1; i<n; i++) { for(int j=i+1; j<=n; j++) b[c[i]+c[j]]++; } for(int i=1; i<=100010; i++) { if(b[i]>0&&a[i]) ans++; } cout<<ans; return 0; }
by chen_zhe2 @ 2019-04-27 10:08:52


#include<bits/stdc++.h> using namespace std; int a[100010],b[100010]; int main() { int n,c[100010],ans=0; cin>>n; memset(b,0,sizeof(b)); ###### for(int i=1; i<=n; i++) { cin>>c[i]; a[c[i]]++; } for(int i=1; i<n; i++) { for(int j=i+1; j<=n; j++) b[c[i]+c[j]]++; } for(int i=1; i<=100010; i++) { if(b[i]>0&&a[i]) ans++; } cout<<ans; return 0; }
by chen_zhe2 @ 2019-04-27 10:09:39


希望更丰富的展现?[使用Markdown](https://www.luogu.org/wiki/show?name=帮助:markdown)
by ⚡进击_蒟蒻⚡ @ 2019-04-27 10:33:33


我是c++萌新
by 孙玉瑶 @ 2019-04-27 11:15:11


窝帮你改了下qwq ```cpp #include <stdio.h> #include <stdlib.h> int main() { int a[110],b[110],n,j,i,count=0,k; scanf("%d",&n); for(i=1;i<=n;i++){ scanf("%d",&a[i]); b[i]=a[i]; } for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { for(k=j;k<=n;k++) { if(a[k]!=a[j]) if(b[i]==a[j]+a[k]) { count++; b[i]=0; } } } } printf("%d",count); return 0; } ``` 希望对你有帮助qwq
by Ln_YJIn @ 2019-04-27 11:42:29


一个数有两种及以上分法时只算一次。比如6=1+5=2+3,6这个数只算一次,而你的代码算了两次。
by 原味麻酱 @ 2019-04-28 22:15:35


谢谢各位
by 孙玉瑶 @ 2019-05-01 10:15:00


|