Codeforce 890A ACM ICPC(枚举)
2017-11-23 20:54
68 查看
题目链接:点击打开链接
题目大意:问是否能把6个人分成2支队伍,要求按照比赛结果来分,能分的条件是两支队得分要相同
解题思路:不知道是A类题,一开始我以为难…… 因为只有6个人,所以可以枚举,只要暴力过就好了
代码分析:用三重循环来找三个人组成一支队,只要依次枚举找到的3个人的总成绩等于6个人总成绩的1/2就ok
代码如下:
#include<iostream>
using namespace std;
int sum,a[7];
bool flag;
int main()
{
sum=0;
flag=0;
for(int i=0; i<6; i++)
{
cin>>a[i];
sum+=a[i];
}
if(sum%2!=0)
{
cout<<"NO"<<endl;
return 0; //一开始我这里忘记加,然后一直错啊,我好傻
}
for(int i=0; i<=3; i++)
for(int j=i+1; j<=4; j++)
for(int k=j+1; k<=5; k++)
{
if((a[i]+a[j]+a[k])*2==sum)
{
flag=1;
break;
}
}
if(flag) cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
return 0;
}
~step by step
题目大意:问是否能把6个人分成2支队伍,要求按照比赛结果来分,能分的条件是两支队得分要相同
解题思路:不知道是A类题,一开始我以为难…… 因为只有6个人,所以可以枚举,只要暴力过就好了
代码分析:用三重循环来找三个人组成一支队,只要依次枚举找到的3个人的总成绩等于6个人总成绩的1/2就ok
代码如下:
#include<iostream>
using namespace std;
int sum,a[7];
bool flag;
int main()
{
sum=0;
flag=0;
for(int i=0; i<6; i++)
{
cin>>a[i];
sum+=a[i];
}
if(sum%2!=0)
{
cout<<"NO"<<endl;
return 0; //一开始我这里忘记加,然后一直错啊,我好傻
}
for(int i=0; i<=3; i++)
for(int j=i+1; j<=4; j++)
for(int k=j+1; k<=5; k++)
{
if((a[i]+a[j]+a[k])*2==sum)
{
flag=1;
break;
}
}
if(flag) cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
return 0;
}
~step by step
相关文章推荐
- 【CodeForce 734C 】Anton and Making Potions (枚举+二分)
- Codeforce 734C Anton and Making Potions 枚举+二分
- 黑马程序员_基础加强(枚举)
- Objective-C(十二、快速枚举,枚举器NSEnumerator和集合类NSSet)——iOS开发基础
- 如何比较枚举的类型?
- java的枚举
- 基础加强一(枚举)
- 枚举做JSP下拉选框的数据源
- POJ 3080--Blue Jeans【KMP && 暴力枚举】
- 51nod 1616 最小集合(数论)(枚举)
- Wince 下枚举音频设备
- Java中的(JDK5新特性)枚举10
- hdu 5400 Arithmetic Sequence 2015多校联合训练赛#9 枚举
- Java 利用枚举实现单例模式
- 黑马程序员--关于常量、枚举与结构
- HDU 5280 BestCoder Round#47 1001 ---枚举+dp
- [iOS]C语言技术视频-09-枚举的定义
- CodeForce 792B Counting-out Rhyme【约瑟夫环】
- 枚举
- 1688: [Usaco2005 Open]Disease Manangement 疾病管理( 枚举 )