说谎
题目描述:
小明以自己的人格担保他最后一个回答一定是正确的,但并不保证其它的回答是对的。
每个数为小明对上一个的回答,若为0表示说上句话是错的,若为1表示说上句话是对的。根据他四次的回答,请输出他原来的四句话的对与错。
输入格式:
一行四个数,表示他回答的每次的对错值。
输出格式:
一行四个数,为小明四句话的对错,对输出1、错输出0。
样例输入:
1 0 0 0
样例输出:
0 1 0 1
答案如下:
#include <bits/stdc++.h>
using namespace std;
bool a[6]= {false,false,false,false,false,true},b[6];
int main()
{
for(int i=1; i<=4; i++)cin>>a[i];
for(int i=4; i>=1; i--)
{
if(a[i+1]==false&&a[i]||a[i+1]&&a[i]==false)a[i]=false;
else a[i]=true;
b[i]=a[i+1];
}
for(int i=1; i<=4; i++)cout<<b[i]<<" ";
return 0;
}