2 solutions
-
2
#include<bits/stdc++.h> using namespace std; const int N=110; string a[N],b[N]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]>>b[i]; } string s; cin>>s; // s=s+"."; for(int i=0;i<s.size();i++) { if(s[i]<'a'||s[i]>'z') { cout<<s[i]; continue; } int j=i; while(j<s.size()&&s[j]>='a'&&s[j]<='z') j++; j--; string sub=s.substr(i,j-i+1); string res="UNK"; // cout<<sub<<endl; for(int k=1;k<=n;k++) { if(sub==a[k]) { res=b[k]; } } cout<<res; // j++; //移动到.的位置 // cout<<s[j]; i=j;//移动到下个单词的位置 } } -
1
#include<bits/stdc++.h> using namespace std; string a[1110],b[1110]; int main() { int n;cin>>n; for(int i=1;i<=n;i++) cin>>a[i]>>b[i]; string s;cin>>s; for(int i=0;i<s.size();i++) { if(s[i]<'a'||s[i]>'z') { //cout<<i<<endl; cout<<s[i]; continue; } int j=i; while(s[j]<='z'&&s[j]>='a'&&j<s.size()) j++; j--; //cout<<i<<" "<<j<<endl; string s1=s.substr(i,j-i+1); i=j-1; string res="UNK"; for(int k=1;k<=n;k++) { if(s1==a[k]) res=b[k]; } cout<<res; i=j; } return 0; }
- 1
Information
- ID
- 2536
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- (None)
- # Submissions
- 13
- Accepted
- 5
- Uploaded By