兩隊比賽,甲隊A.B.C.D乙隊W.X.Y.Z,已知A不與X比賽,C不與X.Z比賽,D不與W比賽。。。。輸出所有可能的結果。。。。求大神解答告訴我應該怎麼思考,謝謝
#include
#include
using namespace std;
char A[3]={'W','Y','Z'};
char B[4]={'W','X','Y','Z'};
char C[2]={'W','Y'};
char D[3]={'X','Y','Z'};
int flag[4];
int main()
{
int num=1;
memset(flag,0,sizeof(flag));
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
for(int k=0;k<2;k++)
{
for(int m=0;m<3;m++)
{
flag[A[i]-87]=1; //將W,X,Y,Z映射成0,1,2,3
flag[B[j]-87]=1;
flag[C[k]-87]=1;
flag[D[m]-87]=1;
if(flag[0]==1&&flag[1]==1&&flag[2]==1&&flag[3]==1)
{
cout<<"分組"<<num++<<endl;
cout<<"A vs "<<A[i]<<endl;
cout<<"B vs "<<B[j]<<endl;
cout<<"C vs "<<C[k]<<endl;
cout<<"D vs "<<D[m]<<endl;
cout<<endl;
}
memset(flag,0,sizeof(flag));
}
}
}
}
return 0;
}