1 solutions

  • 1
    @ 2025-6-7 13:45:34
    #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

    Information

    ID
    2536
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    (None)
    # Submissions
    5
    Accepted
    3
    Uploaded By