10分ac前两个,能过样例
查看原帖
10分ac前两个,能过样例
1073565
DAKnell楼主2024/2/28 20:12

10分ac前两个,能过样例,没有用replace,

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

int n,k,x;
map<string ,string> a;
string b,c;//b是原,c是替换后
char d;
int main(){
    cin>>n>>k;
    for(int i=0;i<n;++i){
        cin>>b>>c;
        a[b]=c;
    }
    getline(cin,b);
    while(k--){
        x=0;
        cin.clear();
        getline(cin,b);
        while(x<b.size()){
            if(b[x]=='{'){
                c="";
                ++x;
                while(b[x]!='}'){
                    c+=b[x];
                    ++x;
                }
                cout<<a[c];
                ++x;
            }
            printf("%c",b[x]);
            ++x;
        }
        printf("\n");
    }
}

评测记录

2024/2/28 20:12
加载中...