zoukankan      html  css  js  c++  java
  • 受约束的十人参赛问题

    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名同学中参赛者名单。如果有多种可能,则输出所有的可能情况。每种情况占一行。参赛同学按字母升序排列,用空格分隔。

    比如:

    J

    就是一种可能的情况。

    1. #include   
    2. using namespace std;  
    3. bool judge(int*x){  
    4.    bool a1= x[0]==0 || x[1]==1;  
    5.    bool a2= x[2]==1 || x[3]==0;  
    6.    bool a3= x[0] x[2]<1;  
    7.    bool a4= x[1] x[3]==1;  
    8.    bool a5= x[3] x[4] x[5] x[6] x[7]>=2;  
    9.    bool a6= (x[2] x[6]==0)||(x[2] x[6]==2);  
    10.    bool a7= x[2] x[4] x[6] x[8]<=2;  
    11.    bool a8= x[4]==0 || (x[5]&&x[6]);  
    12.    bool a9= x[5]==0 || (x[6]==0 && x[7]==0);  
    13.    bool a10= x[8]==1 || x[9]==1 || x[7]==1;  
    14.    return a1&&a2&&a3&&a4&&a5&&a6&&a7&&a8&&a8&&a9&&a10;  
    15.  
    16. int main(){  
    17. char ch[]="ABCDEFGHIJ" 
    18.     int x[]={0,0,0,0,0,0,0,0,0,0};  
    19.     for(x[0]=0;x[0]<2;x[0]++)  
    20.       for(x[1]=0;x[1]<2;x[1]++)  
    21.          for(x[2]=0;x[2]<2;x[2]++)  
    22.             for(x[3]=0;x[3]<2;x[3]++)  
    23.                for(x[4]=0;x[4]<2;x[4]++)  
    24.                    for(x[5]=0;x[5]<2;x[5]++)  
    25.                       for(x[6]=0;x[6]<2;x[6]++)  
    26.                         for(x[7]=0;x[7]<2;x[7]++)   
    27.                            for(x[8]=0;x[8]<2;x[8]++)  
    28.                               for(x[9]=0;x[9]<2;x[9]++)  
    29.     if(judge(x)){//output data   
    30.  for(int i=0;i<10;i++)  
    31.        if(x[i]==1) cout<<ch[i]<<" 
    32.            cout<<endl;  
    33.                                 
    34. return 0;  
    35.  
  • 相关阅读:
    《Django By Example》第十二章(终章) 中文 翻译 (个人学习,渣翻)
    《Django By Example》第十一章 中文 翻译 (个人学习,渣翻)
    《Django By Example》第十章 中文 翻译 (个人学习,渣翻)
    《Django By Example》第九章 中文 翻译 (个人学习,渣翻)
    《Django By Example》第八章 中文 翻译 (个人学习,渣翻)
    《Django By Example》第五章 中文 翻译 (个人学习,渣翻)
    我的superui开源后台bootstrap开发框架
    LayoutInflater 总结
    Android屏幕分辨率概念(dp、dip、dpi、sp、px)
    android studio安装问题
  • 原文地址:https://www.cnblogs.com/liuzhuqing/p/7480669.html
Copyright © 2011-2022 走看看