兩個乒乓球隊進行比賽,各出3人。甲隊為A,B,C 3人,乙隊為X,Y,Z 3人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單,A說他不和X比,C說他不和X,Z比,請編程序找出3對賽手的名單
答案解析:
從題面上得知,每隊為3人,則隱含條件為隊內三人是不能比賽的,並且A一定不會和X比,C一定不會X和Z比;則我們不難寫出判斷條件:
如果A和X比 或者 C和X比 或者 C和Z比 或者 A和B比 或者 A和C比 或者 B和C比,都是不可以的;所以我們只要窮舉A比賽對象,B比賽對象,C比賽對象,判斷上述條件就可以了;
代碼示例:
#include <stdio.h>
int main()
{
int A_battle, B_battle, C_battle;
//如果A對戰的對象從“X”到“Z”
for (A_battle = 'X'; A_battle <= 'Z'; A_battle++)
{
//如果B對戰的對象從“X”到“Z”
for (B_battle = 'X'; B_battle <= 'Z'; B_battle++)
{
//如果C對戰的對象從“X”到“Z”
for (C_battle = 'X'; C_battle <= 'Z'; C_battle++)
{
//去除限制條件
if (A_battle == 'X' || C_battle == 'X' || C_battle == 'Z' || B_battle == A_battle || B_battle == C_battle || A_battle == C_battle)
{
continue;
}
printf("A對%c,B對%c,C對%c", A_battle, B_battle, C_battle);
}
}
}
return 0;
}