在某次研讨会的中间休息时间,3名与会者根据王教授的口音对他是哪个省市的人判断如下:
甲:王教授不是苏州人,是上海人。
乙:王教授不是上海人,是苏州人。
丙:王教授既不是上海人,也不是杭州人。
#include<iostream>
using namespace std;
int main() //a:王教授是苏州人 b:王教授是上海人 c:王教授是杭州人
{
for(int a=0;a<=1;a++){
for(int b=0;b<=1;b++){
for(int c=0;c<=1;c++){
int d=(!a&&b); //甲全对
int e=(!a&&!b)||(a&&b); //甲对一半
int f=(a&&!b); //甲全错
int g=(!b&&a); //乙全对
int h=(a&&b)||(!a&&!b); //乙对一半
int i=(b&&!a); //乙全错
int j=(!b&&!c); //丙全对
int k=(b&&!c)||(!b&&c); //丙对一半
int l=(b&&c); //丙全错
if(((d&&h&&l)||(d&&i&&k)||(g&&e&&l)||(g&&f&&k)||(j&&h&&f)||(j&&i&&e))&&(a+b+c==1))
{
if(a==1) cout<<"王教授是苏州人"<<endl;
if(b==1) cout<<"王教授是上海人"<<endl;
if(c==1) cout<<"王教授是杭州人"<<endl;
}
}
}
}
return 0;
}