| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 924 人关注过本帖, 2 人收藏
标题:以前有朋友出过的一道题
只看楼主 加入收藏
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
结帖率:94.64%
收藏(2)
已结贴  问题点数:100 回复次数:13 
以前有朋友出过的一道题
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
就是一种可能的情况。
搜索更多相关主题的帖子: 计算机 编程 学生 
2011-09-11 22:39
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:14 
呵呵,谁让你拿100分来引诱我的


[ 本帖最后由 beyondyf 于 2011-9-11 23:44 编辑 ]

重剑无锋,大巧不工
2011-09-11 22:49
czsbc
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:469
专家分:1700
注 册:2008-12-13
收藏
得分:14 
我也贴一个:
程序代码:
#include<stdio.h>

int main()
{
    int a,b,c,d,e,f,g,h,i,j;
    for(a=0;a<=1;a++)
    for(b=0;b<=1;b++)
    for(c=0;c<=1;c++)
    for(d=0;d<=1;d++)
    for(e=0;e<=1;e++)
    for(f=0;f<=1;f++)
    for(g=0;g<=1;g++)
    for(h=0;h<=1;h++)
    for(i=0;i<=1;i++)
    for(j=0;j<=1;j++)
    {
        if(a&&!b)continue;
        if(!c&&d)continue;
        if(a&&c)continue;
        if(b&&d||!b&&!d)continue;
        if(d+e+f+g+h<2)continue;
        if(!c&&g||c&&!g)continue;
        if(c+e+g+i>2)continue;
        if(e&&!f||e&&!g)continue;
        if(f&&g||f&&h)continue;
        if((!i&&!j)&&!h)continue;
        if(a)printf("A ");
        if(b)printf("B ");
        if(c)printf("C ");
        if(d)printf("D ");
        if(e)printf("E ");
        if(f)printf("F ");
        if(g)printf("G ");
        if(h)printf("H ");
        if(i)printf("I ");
        if(j)printf("J ");
        printf("\n");
    }
    return 1;
}
2011-09-11 23:11
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 2楼 beyondyf
大侠你就别来了吧?

My life is brilliant
2011-09-11 23:25
yangli0314
Rank: 3Rank: 3
来 自:重庆
等 级:论坛游侠
帖 子:101
专家分:142
注 册:2011-9-3
收藏
得分:14 
回复 3楼 czsbc
用for循环来遍历所有的情况,我怎么就想不到呢,这就是高手和新手的区别啊,大侠,我顶你
2011-09-12 00:41
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
都过中秋去了,顶一下

重剑无锋,大巧不工
2011-09-12 22:59
czsbc
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:469
专家分:1700
注 册:2008-12-13
收藏
得分:0 
回复 6楼 beyondyf
大侠你又来了。
2011-09-12 23:16
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 7楼 czsbc
呵呵,目前只有你的代码,这贴沉了有点可惜,看看还有谁有什么别的思路。

重剑无锋,大巧不工
2011-09-12 23:25
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:14 
看看就头昏啊

我是初学者
2011-09-13 09:11
tisyang
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:132
专家分:737
注 册:2011-5-7
收藏
得分:14 
拿不准,用穷举,嗯

C++ 用无参数构造函数生成对象时候请勿在构造函数后添加无用的那一对括号,否则有可能会被当成函数声明而忽略,嗯,栈上构建的时候就是这样。
2011-09-13 10:56
快速回复:以前有朋友出过的一道题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022729 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved