您的位置:首页 > 其它

第二届2011年国信蓝点杯软件设计大赛预赛的试题10

2017-03-13 22:49 302 查看
package four;

/*

 * 10.程序设计(满分27分)

A、B、C、D、E、F、G、H、I、J 共10名学生有可能参加本次计算机竞赛,也可能不参加。因为某种原因,他们是否参赛受到下列条件的约束:

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

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

   3. A和C中只能有一个人参加;

   4. B和D中有且仅有一个人参加;

   5. D、E、F、G、H 中至少有2人参加;

   6. C和G或者都参加,或者都不参加;

   7. C、E、G、I中至多只能2人参加   

   8. 如果E参加,那么F和G也都参加。

   9. 如果F参加,G、H就不能参加

   10. 如果I、J都不参加,H必须参加

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

比如:

C D G J

就是一种可能的情况。

要求考生把所有类写在一个文件中。调试好后,存入与考生文件夹下对应题号文件夹中的“解答.txt”中即可。相关的工程文件不要拷入。请不要使用package语句。

另外,源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。

 */

public class t10 {
public static void main(String args[]){
int[] s = new int[10];
for(s[0]=0;s[0]<2;s[0]++){
for(s[1]=0;s[1]<2;s[1]++){
if(s[0]==1&&s[1]==1||s[0]==0&&s[1]==0||s[0]==0&&s[1]==1)
for(s[2]=0;s[2]<2;s[2]++){
if(s[0]+s[2]==1)
for(s[3]=0;s[3]<2;s[3]++){
if(s[2]==0&&s[3]==0||s[2]==1&&s[3]==0||s[2]==1&&s[3]==1)
if(s[1]+s[3]==1)
for(s[4]=0;s[4]<2;s[4]++){
for(s[5]=0;s[5]<2;s[5]++){
for(s[6]=0;s[6]<2;s[6]++){
if(s[2]==1&&s[6]==1||s[2]==0&&s[6]==0)
if(s[4]==1&&s[5]==1&&s[6]==1||s[4]==0&&s[5]==0&&s[6]==0||s[4]==0&&s[5]==0&&s[6]==1||s[4]==0&&s[5]==1&&s[6]==1||s[4]==0&&s[5]==1&&s[6]==0)
for(s[7]=0;s[7]<2;s[7]++){
if(s[3]+s[4]+s[5]+s[6]+s[7]>=2)
if(s[5]==1&&s[6]==0&&s[7]==0||s[5]==0&&s[6]==0&&s[7]==0||s[5]==0&&s[6]==0&&s[7]==1||s[5]==0&&s[6]==1&&s[7]==0||s[5]==0&&s[6]==1&&s[7]==1)
for(s[8]=0;s[8]<2;s[8]++){
if(s[2]+s[4]+s[6]+s[8]<=2)
for(s[9]=0;s[9]<2;s[9]++){
if(s[8]==0&&s[9]==0&&s[7]==1||s[8]==1&&s[9]==1&&s[7]==1||s[8]==1&&s[9]==0&&s[7]==0||s[8]==1&&s[9]==0&&s[7]==1||s[8]==0&&s[9]==1&&s[7]==1||s[8]==0&&s[9]==1&&s[7]==0){
for(int i= 0;i<10;i++){
if(s[i]==1)
System.out.print((char)(i+'A')+" ");
}
System.out.println();
}
}
}
}
}
}
}
}
}
}
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: