第二届2011年国信蓝点杯软件设计大赛预赛的试题
来源:互联网 发布:戒色软件排行 编辑:程序博客网 时间:2024/06/04 18:26
package java_gaozhi_2011;
/*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 Task_10 {
public static void main(String[] args) {
boolean result = false;
int number = 0;
for(int A=0;A<=1;A++){
for(int B=0;B<=1;B++){
for(int C=0;C<=1;C++){
for(int D=0;D<=1;D++){
for(int E=0;E<=1;E++){
for(int F=0;F<=1;F++){
for(int G=0;G<=1;G++){
for(int H=0;H<=1;H++){
for(int I=0;I<=1;I++){
for(int J=0;J<=1;J++){
/*
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必须参加*/
if(A==1&&B!=1){
continue;
}
if(C==0&&D!=0){
continue;
}
if(A+C==2){
continue;
}
if(B+D==0||B+D==2){
continue;
}
if(D+E+F+G+H<2){
continue;
}
if(C+G!=0&&C+G!=2){
continue;
}
if(C+E+G+I>2){
continue;
}
if(E==1){
if(F!=1||G!=1)
continue;
}
if(F==1){
if(G==1||H==1)
continue;
}
if((I==0&&J==0)&&H==0){
continue;
}
int[] s = {A,B,C,D,E,F,G,H,I,J};
for(int i=0;i<s.length;i++){
if(s[i]==1){
System.out
.print((char)(i+65)+" ");
}
}
System.out
.println();
}
}
}
}
}
}
}
}
}
}
}
}
/*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 Task_10 {
public static void main(String[] args) {
boolean result = false;
int number = 0;
for(int A=0;A<=1;A++){
for(int B=0;B<=1;B++){
for(int C=0;C<=1;C++){
for(int D=0;D<=1;D++){
for(int E=0;E<=1;E++){
for(int F=0;F<=1;F++){
for(int G=0;G<=1;G++){
for(int H=0;H<=1;H++){
for(int I=0;I<=1;I++){
for(int J=0;J<=1;J++){
/*
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必须参加*/
if(A==1&&B!=1){
continue;
}
if(C==0&&D!=0){
continue;
}
if(A+C==2){
continue;
}
if(B+D==0||B+D==2){
continue;
}
if(D+E+F+G+H<2){
continue;
}
if(C+G!=0&&C+G!=2){
continue;
}
if(C+E+G+I>2){
continue;
}
if(E==1){
if(F!=1||G!=1)
continue;
}
if(F==1){
if(G==1||H==1)
continue;
}
if((I==0&&J==0)&&H==0){
continue;
}
int[] s = {A,B,C,D,E,F,G,H,I,J};
for(int i=0;i<s.length;i++){
if(s[i]==1){
System.out
.print((char)(i+65)+" ");
}
}
System.out
.println();
}
}
}
}
}
}
}
}
}
}
}
}
0 0
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题计算反转的串
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题1
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题2
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题3
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题4
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题5
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题6
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题7
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题8
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题9
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题10
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题计算蔬菜总价
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题计算计算行程
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题最近距离
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题股票风险
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题猜数字
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题猜基因牛
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题
- android项目 编译出现"Unsupported major.minor version 52.0" 问题解决
- Java对象和集合与Json之间的互相转换
- Android中Activity、Window和View之间的关系
- KIE WorkBench安装使用mysql报错: javax.enterprise.event.ObserverException
- 装饰模式
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题
- 漫谈Learning to Rank
- SQL Server表中一行的多个列找出最大值
- 下载功能代码(弹框)
- I/O(NI/O)流操作
- setter方法实现链式调用(Android studio、Idea、WebStorm等JetBrains公司的产品)
- javaweb的表单提交代码参考示例
- 移动端点击300ms延迟问题和解决
- 是否完全二叉搜索树