4048 - ADV-101 断案

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB
•公安人员审问甲、乙、丙、丁四个嫌疑犯,已确知,这四个人当中仅有一人是偷窃者,还知道这四个人的答话,要么完全诚实,要么完全说谎。在回答公安人员的问话中:

  甲说:“乙没有偷,是丁偷的。”
  乙说:“我没有偷,是丙偷的。”
  丙说:“甲没有偷,是乙偷的。”
  丁说:“我没有偷,我用的那东西是我家里的。”
  请根据上述四人答话,判断谁是偷窃者。

题目输入

无输入。

题目输出

输出一个字符,表示偷窃者是谁,A表示甲,B表示乙,C表示丙,D表示丁。

输入/输出样例

输入格式


                        

输出格式


                        

C++解答

#include<iostream>
using namespace std;
#define N 4
int a[N]; 
void f(int k)
{
	int i; 
	if(k==N)
	{
		int sum=0;
		for(i=0;i<N;i++)
			sum+=a[i];
		if(sum==1)//只有一个1 
		{
			if(!a[1]==a[3]&&!a[1]==a[2]&&!a[0]==a[1])
			{
				for (i = 0; i < N; i++)
				{
					if(a[i]) cout<<char('A'+i);
				}
			}
		}
		return;
	}
	for(i=0;i<2;i++)
	{
		a[k]=i;
		f(k+1);
	}
}
int main()
{
	f(0);
	return 0;
}

Java解答

public class Main {
	public static void main(String[] args) {
		System.out.println("B");
	}
}