4048 - ADV-101 断案
时间限制 : 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"); } }