这题的思路是什么啊告诉我一下 最好有答案!~~

来源:百度知道 编辑:UC知道 时间:2024/07/04 16:04:55
排球场的平面如图其中1,2,3,4,5,6为位置的编号,2,3,4位置在前面1,6,5在后排。某女排队在开赛时于1,4放主攻手,2,5放二传手,3,6放副攻手。队员球衣号为1,2,3,4,5,6号。可是每个球衣号都与他们的位置不同。已知1号6号队员不在后排;2号3号队员不是二传手;3号4号队员不在同一排;5号6号队员不是副攻手。 请编一个程序,推算出每个队员的占位情况
球场的位置编号图。。。。
4 3 2
5 6 1
教我做一下吧 我打的累死了 想了半天没想到。。
最好用VC++写

VC++?是说MFC还是C++,MFC太大,我想是C++吧,一般学校说是学VC++,其实都是C++
main ()
{
int i[7], j, k;
int prison[7];
k = 0;
clrscr ();
for (i[1]=2; i[1]<=4; i[1]++)
{
prison[1] = i[1];
for (i[2]=1; i[2]<7; i[2]++)
{
if (i[2]==2 || i[2]==5 || i[2]==i[1])
continue;
prison[2] = i[2];
for (i[3]=1; i[3]<7; i[3]++)
{
if (i[3]==2 || i[3]==5 || i[3]==i[1] || i[3]==i[2] || i[3]==3)
continue;
prison[3] = i[3];
for (i[4]=1; i[4]<7; i[4]++)
{
if ((i[4]+1)/3==(i[3]+1)/3 || i[4]==i[1] || i[4]==i[2] || i[4]==4)
continue;
prison[4] = i[4];
for (i[5]=1; i[5]<7; i[5]++)
{
if (i[5]==3 || i[5]==6 || i[5]==i[1] || i[5]==i[2] ||
i[5]==i[3] || i[5]==i[4] ||i[5]==5)
continue;
prison[5] = i[5];
for (i[6]=1; i[6]<7; i[6]++)
{
if ((i[6]+1)/3!=1 ||