受约束的十人参赛问题

原创 2012年03月30日 22:48:36

ABCDEFGHI10名学生有可能参加本次计算机竞赛,也可能不参加。因为某种原因,他们是否参赛受到下列条件的约束:

   1. 如果A参加,B也参加;

   2. 如果C不参加,D也不参加;

   3. AC中只能有一个人参加;

   4. BD中有且仅有一个人参加;

   5. DEFG中至少有2人参加;

   6. CG或者都参加,或者都不参加;

   7. CEGI中至多只能2人参加   

   8. 如果E参加,那么FG也都参加。

   9. 如果F参加,GH就不能参加

   10. 如果IJ都不参加,H必须参加

请编程根据这些条件判断这10名同学中参赛者名单。如果有多种可能,则输出所有的可能情况。每种情况占一行。参赛同学按字母升序排列,用空格分隔。

比如:

C D G J

就是一种可能的情况。

#include<iostream>
using namespace std;
bool judge(int*x){
   bool a1= x[0]==0 || x[1]==1;
   bool a2= x[2]==1 || x[3]==0;
   bool a3= x[0] * x[2]<1;
   bool a4= x[1] + x[3]==1;
   bool a5= x[3] + x[4] + x[5] + x[6] + x[7]>=2;
   bool a6= (x[2] + x[6]==0)||(x[2] + x[6]==2);
   bool a7= x[2] + x[4] + x[6] + x[8]<=2;
   bool a8= x[4]==0 || (x[5]&&x[6]);
   bool a9= x[5]==0 || (x[6]==0 && x[7]==0);
   bool a10= x[8]==1 || x[9]==1 || x[7]==1;
   return a1&&a2&&a3&&a4&&a5&&a6&&a7&&a8&&a8&&a9&&a10;
}
int main(){
char ch[]="ABCDEFGHIJ";
    int x[]={0,0,0,0,0,0,0,0,0,0};
    for(x[0]=0;x[0]<2;x[0]++)
      for(x[1]=0;x[1]<2;x[1]++)
         for(x[2]=0;x[2]<2;x[2]++)
            for(x[3]=0;x[3]<2;x[3]++)
               for(x[4]=0;x[4]<2;x[4]++)
                   for(x[5]=0;x[5]<2;x[5]++)
                      for(x[6]=0;x[6]<2;x[6]++)
                        for(x[7]=0;x[7]<2;x[7]++) 
                           for(x[8]=0;x[8]<2;x[8]++)
                              for(x[9]=0;x[9]<2;x[9]++)
    if(judge(x)){//output data
 for(int i=0;i<10;i++)
       if(x[i]==1) cout<<ch[i]<<" ";
           cout<<endl;
   }	                 	    
return 0;
}


受约束的10人参赛问题

A,B,C,D,E,F,G,H,I,J,共10名学生有可能参加计算机竞赛,也可能不参加,因为某种原因他们受到下列条件的约束:  1. 如果A参加,B也参加;  2. 如果C不参加,D也不参加;  ...
  • ilvfeng
  • ilvfeng
  • 2015年04月19日 14:10
  • 169

项目管理之十人管理

好久没有更新博客了,经过了一段时间的项目管理,有点小小经验总结一下, 在之前的一个项目中,管理了一个十人的团队,高软、中软、出软都不少,刚开始我是一个一个人去管理,累得我半死,而且效果还不是很好,后...
  • sn3009
  • sn3009
  • 2011年11月24日 09:40
  • 569

十人开发项目中的身份定位及小组管理

19号开始进入十人开发的项目(CollegeSystem)。李坤师哥根据我们十个人进入项目时间情况及项目需求,将我们分为了五组。我、雪奇和成云负责开发教务相关子系统。坤哥将经过一番调研的项目需求给了我...
  • dongzi87
  • dongzi87
  • 2010年04月23日 09:42
  • 632

团体程序设计天梯赛L3-015 球队“食物链”

L3-015. 球队“食物链” 时间限制 1000 ms 内存限制 262144 kB 代码长度限制 8000 B ...
  • a664607530
  • a664607530
  • 2017年04月12日 08:20
  • 397

参加ImageCup 区域赛的感想与感悟

写在前面这是一篇很随性很随性的流水账,文笔略拙,看官莫怪,仅作为日后对这段时光的回忆的引子。 因为是隔了几天才来写这篇文章,当时的感觉也早已不是那么清晰了,就按时间的顺序来吧。正文3.31坐在回学校的...
  • qq_35056292
  • qq_35056292
  • 2017年04月03日 11:16
  • 419

香港代表张家莹夺得2007年亚洲小姐冠军(组图)

 核心提示:中国香港代表张家莹在昨晚结束的2007年亚洲小姐竞选中夺得冠军,中国内地代表孙辰荣获季军。     孙辰(左)与亚姐冠军张家莹(中)、亚军崔智熹合影  10月28日,来自中国香港的张家莹(...
  • szsbell
  • szsbell
  • 2007年10月29日 11:23
  • 728

ACM-ICPC比赛介绍及相关参考

ACM-ICPC比赛介绍及相关参考     ACM国际大学生程序设计竞赛(ACM International Collegiate Programming Contest – ACM-ICPC)...
  • yuzhiwei1995
  • yuzhiwei1995
  • 2015年07月31日 20:47
  • 361

参赛对手选择问题

两个乒乓球队进行比赛,各出3人。甲队为A,B,C三人,乙队为X,Y,Z三人,已抽签决定比赛名单,有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,编写程序找出3对赛手名单. packa...
  • u012439887
  • u012439887
  • 2015年09月01日 22:00
  • 167

AMC数学竞赛在中国参赛人数

AMC竞赛作为美国奥数国家队选拔的第一站,正在逐渐吸引来自全世界各地越来越多的学生参加;该竞赛成绩也被国内多数重点高校所认可,适合各数学能力等级的中小学生参加。如果你的孩子想赴美留学,AMC美国数学竞...
  • yanni12181
  • yanni12181
  • 2017年10月17日 11:31
  • 272

创建受约束的布局

 让页面上的组件随窗体的改变而改变。所有容器的布局方式都应设置为绝对方式(absolute)。Demo:xml version="1.0" encoding="utf-8"?>mx:Applicati...
  • Anglewing_nwpu
  • Anglewing_nwpu
  • 2007年06月03日 13:42
  • 488
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:受约束的十人参赛问题
举报原因:
原因补充:

(最多只允许输入30个字)