该题主要是先假设小偷,如果被假设的人不是小偷,则不会满足条件count==4
从而可以判断出小偷
#include<bits/stdc++.h>
int main()
{
int arr[4];
memset(arr,0,sizeof(arr));//都初始化为0
int count;
for(int i=0;i<4;i++){
count=0;
arr[i]=1;
//如果该arr[i]不是小偷,则真正的小偷的 if 语句不满足
if(arr[1]==0&&arr[3]==1||arr[1]==1&&arr[3]==0)
count++;
if(arr[1]==0&&arr[2]==1||arr[1]==1&&arr[2]==0)
count++;
if(arr[1]==0&&arr[0]==1||arr[1]==1&&arr[0]==0)
count++;
if(arr[3]==0||arr[3]==1)
count++;
if(count==4)
{
if(i==0)
printf("A");
else if(i==1)
printf("B");
else if(i==2)
printf("C");
else
printf("D");
break;
}
memset(arr,0,sizeof(arr));
}
return 0;
}