1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| #include<iostream> #include<algorithm> #include<set> #include<map> #include<string> #include<cstdlib> using namespace std;
int main(){ ios::sync_with_stdio(0);cin.tie(0);
string a,b; int n; cin>>n; getline(cin,a); while(n--){ getline(cin,a); getline(cin,b); map<char,int> ma,mb;
for(int i=0;i<a.size();i++){ char c=a[i]; if(islower(c)){ ma[c]++; }else if(isupper(c)){ ma[tolower(c)]++; } }
for(int i=0;i<b.size();i++){ char c=b[i]; if(islower(c)){ mb[c]++; }else if(isupper(c)){ mb[tolower(c)]++; } }
bool isv=true; map<char,int>::iterator ta=ma.begin(),tb=mb.begin(); for(ta=ma.begin();ta!=ma.end() && tb!=mb.end();ta++){ pair<char,int> pa=(*ta),pb=(*tb); if(pa!=pb){ isv=false; } tb++; } if(ma.size()!=mb.size()) isv=false; cout<<isv<<"\n"; } return 0; }
|