codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include<bits/stdc++.h> using namespace std; int main() { long long int n,ab,a,b,c,d,flag=0; string s,t,p,s1,s2; map<char,int>mp1; map<char,int>mp2; map<char,int>mp3; char arr[10][10]; cin>>n; while(n--){ cin>>s>>t>>p; for(int i=0;i<s.length();i++){ mp1[s[i]]++; } for(int i=0;i<t.length();i++){ mp2[t[i]]++; } for(int i=0;i<p.length();i++){ mp3[p[i]]++; } int flag1=0; int a=0; int cnt=0; for(int j=0;j<t.length();j++){ if(s[a]==t[j]){ cnt++; a++; } if(a==(s.length())){ break; } } if(cnt<s.length()){ flag1=1; } for(int i=0;i<s.length();i++){ if(mp1[s[i]]>0 && mp2[s[i]]==0){ flag1=1; } } int flag=0; if(flag1){ cout<<"NO"<<endl; } else{ for(int i=0;i<t.length();i++){ if(mp1[t[i]]>mp2[t[i]]){ flag=1; break; } else if(mp2[t[i]]>mp1[t[i]]){ int v=mp2[t[i]]-mp1[t[i]]; if(mp3[t[i]]>=v){ continue; } else { flag=1; break; } } } if(flag) cout<<"NO"<<endl; else cout<<"YES"<<endl; mp1.clear(); mp2.clear(); mp3.clear(); } } }
Private
[
?
]
Run code
Submit