专栏文章

P1071 [NOIP 2009 提高组] 潜伏者

算法·理论参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minovcoh
此快照首次捕获于
2025/12/02 05:56
3 个月前
此快照最后确认于
2025/12/02 05:56
3 个月前
查看原文
使用map,记mpimp_i表示字母ii作为密文时对应的原信息,遍历时若发现mpimp_i对应两个不同的原信息则不合法,遍历后若发现有字母没出现则不合法
CPP
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn(1e5+10);
int n;
string a,b,c;
map<char,char>mp;
bool vis[maxn];
int main(){
    cin>>a>>b>>c;
    for(int i(0);i<a.size();i++){
        if(vis[b[i]]&&mp[a[i]]!=b[i]){
            cout<<"Failed\n";
            return 0;
        }
        mp[a[i]]=b[i];
        vis[b[i]]=true;
    }
    for(int i('A');i<='Z';i++){
        if(!vis[i]){
            cout<<"Failed\n";
            return 0;
        }
    }
    for(int i(0);i<c.size();i++){
        cout<<mp[c[i]];
    }
    return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...