Codeforces Round #619 (Div. 2) A. Three Strings
You are given three strings aa , bb and cc of the same length nn . The strings consist of lowercase English letters only. The ii -th letter of aa is aiai , the ii -th letter of bb is bibi , the ii -th letter of cc is cici .
For every ii (1≤i≤n1≤i≤n ) you must swap (i.e. exchange) cici with either aiai or bibi . So in total you'll perform exactly nn swap operations, each of them either ci↔aici↔ai or ci↔bici↔bi (ii iterates over all integers between 11 and nn , inclusive).
For example, if aa is "code", bb is "true", and cc is "help", you can make cc equal to "crue" taking the 11 -st and the 44 -th letters from aa and the others from bb . In this way aa becomes "hodp" and bb becomes "tele".
Is it possible that after these swaps the string aa becomes exactly the same as the string bb ?
Input
The input consists of multiple test cases. The first line contains a single integer tt (1≤t≤1001≤t≤100 ) — the number of test cases. The description of the test cases follows.
The first line of each test case contains a string of lowercase English letters aa .
The second line of each test case contains a string of lowercase English letters bb .
The third line of each test case contains a string of lowercase English letters cc .
It is guaranteed that in each test case these three strings are non-empty and have the same length, which is not exceeding 100100 .
Output
Print tt lines with answers for all test cases. For each test case:
If it is possible to make string aa equal to string bb print "YES" (without quotes), otherwise print "NO" (without quotes).
You can print either lowercase or uppercase letters in the answers.
Example
4 aaa bbb ccc abc bca bca aabb bbaa baba imi mii iim
NO YES YES NO
水题。最终目的是要求a和b一样,这样的话,因为ai或者bi其中之一可以与ci交换,所以如果ai==ci,那么拿bi与ci交换,之后可以得到ai==bi;同理bi==ci,可以拿ai与ci交换,遍历一遍看看能不能满足即可。
#include <bits/stdc++.h> using namespace std; int main() { int t; cin>>t; while(t--) { char a[105]; char b[105]; char c[105]; scanf("%s",a); scanf("%s",b); scanf("%s",c); int i; int cnt=0; for(i=0;i<strlen(a);i++) { if(a[i]==c[i]||b[i]==c[i])cnt++; } if(cnt==strlen(a)) { cout<<"YES"<<endl; continue; } cout<<"NO"<<endl; } }