1 条题解

  • 0
    @ 2025-8-24 21:20:36

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar qhr2023
    **

    搬运于2025-08-24 21:20:35,当前版本为作者最后更新于2025-02-12 12:35:48,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    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
    73
    时间
    1000ms
    内存
    125MiB
    难度
    2
    标签
    递交数
    1
    已通过
    1
    上传者