1 条题解

  • 0
    @ 2026-9-2 9:55:56

    solution

    小模拟。

    我们开一个映射,记 mpimp_i 表示字母 ii 作为密文时对应的原信息,遍历时若发现 mpimp_i 对应两个不同的原信息则不合法,遍历后若发现有字母没出现则不合法。最后按题意输出。

    通过记录

    code

    #include<bits/stdc++.h>
    using namespace std;
    char a[105], b[105], c[105], mp[205], vis[205];
    int main(){
    	cin >> a >> b >> c;
    	int la=strlen(a), lc=strlen(c);
    	for (int i=0; i<la; mp[a[i]]=b[i], vis[b[i]]=1, i++) 
    		if (vis[b[i]]&&b[i]!=mp[a[i]]) {
    			puts("Failed");
    			return 0;
    		}
    	for (int i='A'; i<='Z'; i++)
    		if (!vis[i]) {
    			puts("Failed");
    			return 0;
    		} 
    	for (int i=0; i<lc; i++)
    		cout << mp[c[i]];
    	return 0;
    }
    
    • 1

    信息

    ID
    734
    时间
    1000ms
    内存
    128MiB
    难度
    9
    标签
    递交数
    10
    已通过
    7
    上传者