专栏文章
题解:P13421 [COCI 2012/2013 #6] DOBRI
P13421题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mio6t7i0
- 此快照首次捕获于
- 2025/12/02 14:18 3 个月前
- 此快照最后确认于
- 2025/12/02 14:18 3 个月前
简单思路:
1.对于每个位置 i(从第4个开始),检查 A[i] 是否等于前面任意三个数的和
2.使用三重循环来检查所有可能的组合
3.如果找到满足条件的组合,就计数加1
话不多说,直接上代码
CPP#include<bits/stdc++.h>
using namespace std;
int main() {
int n,s=0;
cin>>n;
vector<int> a(n+1); // 使用下标1到n
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=4;i<=n;i++){ // 从第4个元素开始检查(前3个不可能是好元素)
bool f=0;
for(int x=1;x<i;x++){ // 检查所有可能的三个数的组合(都在i前面)
for(int y=1;y<i;y++){ //使用三重循环来尝试所有可能的三个数字的组合
for(int z=1;z<i;z++){
if (a[x]+a[y]+a[z]==a[i]){
f=1;
break;
}
}
if(f==1) break;
}
if (f==1) break;
}
if(f==1) s++;
}
cout<<s<<endl;
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...