标题:一道有意思的作业题,求算法
只看楼主
waja
Rank: 2
等 级:论坛游民
帖 子:53
专家分:52
注 册:2012-7-27
结帖率:81.82%
已结贴  问题点数:20 回复次数:3 
一道有意思的作业题,求算法

//两个乒乓球队进行比赛,单打,甲A B C 三人;乙队:X Y Z 三人; A 遇不见 X;  C 遇不见X,Z。问:ABC的对手。下面是网上的答案,请问大家还有别的算法吗?
void main()
{
    char i, j, k;
    for(i = 'x'; i<='z';i++) //i是a 的对手
    {
        for(j = 'x'; j <= 'z'; j++)//j是b的对手
        {
            if(i != j)//在a b 的对手不相同的情况下才有效
            {
                for(k = 'x'; k<= 'z'; k++)//k 是z的对手
                {
                    if(i!=k && j != k)//只有在i ! = j j != k i != k的情况下才有效
                    {
                        if((i != 'x') && (k != 'x') && (k != 'z'))//题目的条件
                        {
                            printf(" a vs %c\n b vs %c\n c vs %c\n", i, j, k);
                        }
                    }
                }
            }
        }
    }

}
搜索更多相关主题的帖子: 乒乓球 单打 网上 
2014-12-17 20:41
我只是个学生
Rank: 3Rank: 3
来 自:中石大
等 级:论坛游侠
威 望:1
帖 子:57
专家分:190
注 册:2014-12-14
得分:10 
我个人想法,可能麻烦:写个二维字符串数组,放进所有可能的组合,然后把满足条件( A 遇不见 X;  C 遇不见X,Z)的删除掉,并同时打印出不满足排除条件的组合!希望能帮到你。

我们的善良将助长一个孩子不劳而获的懒惰心理
2014-12-17 21:12
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
得分:10 
回复 2楼 我只是个学生
枚举的思想貌似可以用位运算实现,你们可以试试。

一片落叶掉进了回忆的流年。
2014-12-17 21:42
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
得分:0 
回复 2楼 我只是个学生
枚举的思想貌似可以用位运算实现,你们可以试试

一片落叶掉进了回忆的流年。
2014-12-17 21:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-440061-1-1.html




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

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