3977 - 选秀黑幕

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB
•某选秀节目,经过层层筛选,最后有六名选手A、B、C、D、E、F参加"六进四"的比赛(即必须淘汰2名)。已知在兼顾各方关系与幕后黑手的操纵下,必须满足如下条件:
•(1)如果选拔A,那么必须同时选拔B和C。
•(2)如果选拔E,则必须同时淘汰D和C。
•(3)除非选拔E,否则淘汰F。
•(4)A兼具实力派和偶像派的特质,必须选拔。
•到底哪两名选手会被淘汰呢?请编程得出结论。
•请输出被淘汰的选手,例如:如果AB被淘汰,输出AB

题目输入

题目输出

输入/输出样例

输入格式


                        

输出格式


                        

C++解答

#include <iostream>
using namespace std;
#define N 6
int a[N];
void f(int k)
{
	int i;
	if(k==N)
	{
		int sum=0;
		for(i=0;i<N;i++)
			sum+=a[i];
		bool b1,b2,b3,b4;
		b1=a[1]+a[2]==2||a[0]==0;
		b2=a[2]+a[3]==0||a[4]==0;
		b3=a[5]==0||a[4]==1;
		b4=a[0]==1;
		if(sum==4&&b1&&b2&&b3&&b4)
		{
			for(i=0;i<N;i++)
				if(a[i]==0)
					cout<<char('A'+i);
			cout<<endl;
		}
		return;
	}
	for(i=0;i<2;i++)
	{
		a[k]=i;
		f(k+1);
	}
}
int main()
{	
	f(0);
	return 0;
}