蒟蒻90分求助!!!WA了#4
查看原帖
蒟蒻90分求助!!!WA了#4
604622
achjuncool楼主2022/6/26 19:30

代码如下(加了些注释)qwq:

#include <iostream>
#include <cstring>
using namespace std;
int n; //原信息中出现的不同字符的个数 
string yuanwen, mima, dianbao;
char mi[200], t; //mi是原文与密码的映射表 
int main(){
    memset(mi, '0', sizeof(mi)); //'0'表示没有被破解 
    cin >> yuanwen >> mima >> dianbao;
    for(int i = 0; i < yuanwen.length(); i++){
        t = yuanwen[i];
        if(mi[t] == '0'){ //没有被破解 
            mi[t] = mima[i];
            n++; //新的字符 
        } else {
            if(mima[i] == mi[t]){
                continue;
            } else { //如果与上一次破解的不同 
                cout << "Failed" << endl; //不符合要求 
                return 0;
            }
        }
    }
    if(n != 26){ //如果没有26个字母 
        cout << "Failed" << endl; //不符合要求 
        return 0;
    }
    for(int i = 0; i < dianbao.length(); i++){
        cout << mi[dianbao[i]]; //破解电报 
    }
    cout << endl;
    return 0;
}
2022/6/26 19:30
加载中...