有一个奇怪的国家,里面的国民对于事情的态度永远只有两面。当两个人遇到一起讨论一个事情的时候——两个持赞同观点的人遇到一起后会对这个事情都继续赞同;一个持赞同观点的人遇到一个持不赞同观点的人的时候,两人都会不再继续赞同;两个持不赞同观点的人遇到一起讨论后反而会对这个事情开始赞同。
输入格式
输入包括两行,每行包括 N(1 leq N leq 50)N(1≤N≤50) 个数字,分别表示两个人对于 NN 个事情对应的看法——00 表示不赞同、11 表示赞同。
输出格式
输出包括一行,包括 NN 个数字,表示两人相遇后,对于这 NN 件事情的最终看法。
样例输入
11100101 00101011
样例输出
00110001
题解:两种解法
解法一:位运算
1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 #include <cstdio> 5 #include <vector> 6 #include <cstdlib> 7 #include <iomanip> 8 #include <cmath> 9 #include <ctime> 10 #include <map> 11 #include <set> 12 #include <queue> 13 using namespace std; 14 #define lowbit(x) (x&(-x)) 15 #define max(x,y) (x>y?x:y) 16 #define min(x,y) (x<y?x:y) 17 #define MAX 100000000000000000 18 #define MOD 1000000007 19 #define pi acos(-1.0) 20 #define ei exp(1) 21 #define PI 3.141592653589793238462 22 #define INF 0x3f3f3f3f3f 23 #define mem(a) (memset(a,0,sizeof(a))) 24 typedef long long ll; 25 ll gcd(ll a,ll b){ 26 return b?gcd(b,a%b):a; 27 } 28 bool cmp(int x,int y) 29 { 30 return x>y; 31 } 32 const int N=1005; 33 34 int main() 35 { 36 std::ios::sync_with_stdio(false); 37 string s1,s2; 38 while(cin>>s1>>s2){ 39 int n=s1.size(); 40 for(int i=0;i<n;i++) 41 cout<<!((s1[i]-48)^(s2[i]-48)); 42 cout<<endl; 43 } 44 return 0; 45 }
解法二:...
1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 #include <cstdio> 5 #include <vector> 6 #include <cstdlib> 7 #include <iomanip> 8 #include <cmath> 9 #include <ctime> 10 #include <map> 11 #include <set> 12 #include <queue> 13 using namespace std; 14 #define lowbit(x) (x&(-x)) 15 #define max(x,y) (x>y?x:y) 16 #define min(x,y) (x<y?x:y) 17 #define MAX 100000000000000000 18 #define MOD 1000000007 19 #define pi acos(-1.0) 20 #define ei exp(1) 21 #define PI 3.141592653589793238462 22 #define INF 0x3f3f3f3f3f 23 #define mem(a) (memset(a,0,sizeof(a))) 24 typedef long long ll; 25 ll gcd(ll a,ll b){ 26 return b?gcd(b,a%b):a; 27 } 28 bool cmp(int x,int y) 29 { 30 return x>y; 31 } 32 const int N=1005; 33 34 int main() 35 { 36 std::ios::sync_with_stdio(false); 37 string a,b,c; 38 cin>>a>>b; 39 c=a; 40 int len=a.length(); 41 for(int i=0;i<len;i++){ 42 if(a[i]!=b[i]) c[i]='0'; 43 else c[i]='1'; 44 } 45 cout<<c<<endl; 46 return 0; 47 }