moclocd 2023-07-20 21:37 采纳率: 92.9%
浏览 40
已结题

大家看看,哪里错了,为什么只有70分

描述
古罗马帝国有一个拥有各种部门的强大政府组织。其中一个部门就是保密服务部门。为了保险起见,在省与省之间传递的重要文件中的大写字母是加密的。当时最流行的加密方法是替换和重新排列。

替换方法是将所有出现的字符替换成其它的字符。有些字符会替换成它自己。例如:替换规则可以是将'A' 到 'Y'替换成它的下一个字符,将'Z'替换成 'A',如果原词是 "VICTORIOUS" 则它变成 "WJDUPSJPVT"。

排列方法改变原来单词中字母的顺序。例如:将顺序例如将顺序 < 2 1 5 4 3 7 6 10 9 8 > 应用到 "VICTORIOUS" 上,则得到"IVOTCIRSUO"。

人们很快意识到单独应用替换方法或排列方法加密,都是很不保险的。但是如果结合这两种方法,在当时就可以得到非常可靠的加密方法。所以,很多重要信息先使用替换方法加密,再将加密的结果用排列的方法加密。用两种方法结合就可以将"VICTORIOUS" 加密成"JWPUDJSTVP"。

考古学家最近在一个石台上发现了一些信息。初看起来它们毫无意义,所以有人设想它们可能是用替换和排列的方法被加密了。人们试着解读了石台上的密码,现在他们想检查解读的是否正确。他们需要一个计算机程序来验证,你的任务就是写这个验证程序。

输入
输入有两行。

第一行是石台上的文字。文字中没有空格,并且只有大写英文字母。

第二行是被解读出来的加密前的文字。第二行也是由大写英文字母构成的。

两行字符数目的长度都不超过100。

输出
如果第二行经过某种加密方法后可以产生第一行的信息,输出 "YES",否则输出"NO"。

输入样例 1
JWPUDJSTVP
VICTORIOUS
输出样例1
YES
这是我的代码,大家看看哪里错了:

#include<bits/stdc++.h>
using namespace std;
#define N 114514
char a[N],b[N];
int i;
int stone_text[N],Pre_encryption_text[N];
int main(){
    cin>>a>>b;
    int lena=strlen(a);
    int lenb=strlen(b);
    for(i=0;i<lena;i++){
        stone_text[a[i]-'A']++;
    }
    for(i=0;i<lenb;i++){
        Pre_encryption_text[b[i]-'A']++;
    }
    sort(Pre_encryption_text,Pre_encryption_text+a[N]);
    sort(stone_text,stone_text+b[N]);
    for(i=0;i<26;i++){
        if(Pre_encryption_text[i]!=stone_text[i]){
            cout<<"NO";
            return 0;
        }
    }
    cout<<"YES";
    return 0;
}
  • 写回答

3条回答 默认 最新

  • moclocd 2023-07-20 22:49
    关注

    哦哦哦哦哦哦哦!
    是这样的:

    using namespace std;
    int tong[26],tong1[26],i;
    string st,pet;
    int main(){
        cin>>st>>pet;
        int lenst=st.size();
        int lenpet=pet.size();
        for(i=0;i<lenst;i++){
            tong[st[i]-'A']++;
        }
        for(i=0;i<lenpet;i++){
            tong1[pet[i]-'A']++;
        }
        sort(tong,tong+26);
        sort(tong1,tong1+26);
        for(i=0;i<26;i++){
            if(tong[i]!=tong1[i]){
                cout<<"NO";
                return 0;
            }
        }
        cout<<"YES";
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月28日
  • 已采纳回答 7月20日
  • 创建了问题 7月20日

悬赏问题

  • ¥15 求解答:pytorch跑yolov8神经网络受挫
  • ¥20 Js代码报错问题不知道怎么解决
  • ¥15 gojs 点击按钮node的position位置进行改变,再次点击回到原来的位置
  • ¥15 计算决策面并仿真附上结果
  • ¥20 halcon 图像拼接
  • ¥15 webstorm上开发的vue3+vite5+typeScript打包时报错
  • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥100 求ASMedia ASM1184e & ASM1187e 芯片datasheet/规格书