题解
2026-04-03 20:03:31
发布于:江西
33阅读
0回复
0点赞
暴力枚举真好用awa
#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int n,a[10001],s1=0,s2=0;
bool b=0;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++) s1+=a[j];
for(int j=i+1;j<=n;j++) s2+=a[j];
if(s1==s2){
cout<<"Yes\n";
b=1;
break;
}else s1=0,s2=0;
}if(!b) cout<<"No\n";
}
return 0;
}
如果不想暴力枚举,请移步下面的前缀和法
#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int n,a[10001]={0};
long long s[10001]={0};
bool b=0;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) s[i]=s[i-1]+a[i];
for(int i=1;i<=n-1;i++){
if(s[i]==s[n]-s[i]){
cout<<"Yes\n";
b=1;
break;
}
}if(!b) cout<<"No\n";
}
return 0;
}
还想要更好的解法,请到这个地方:
https://www.bilibili.com/video/BV1hq4y1s7VH/?spm_id_from=333.337.search-card.all.click
全部评论 2
虽然晚了一些,but愚人节快乐!
2026-04-06 来自 江西
1狠人
2026-04-06 来自 江西
1我是一念成魔
2026-04-06 来自 江西
2oh
43分钟前 来自 江西
0
awa
AWA2026-04-03 来自 江西
1


有帮助,赞一个