11:潜伏者

11:潜伏者http://www.noi.openjudge.cn/ NOI / 1.7编程基础之字符串 题目 排名 状态 提问 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 R国和S国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动。 历经艰险后,潜伏于S国的R国间谍小C终于摸清了S国军用密码的编码规则: 1、S国军方内部欲发送的原信息经过加密后在网络上发送,原信息的内容与加密后所的内容均由大写字母‘A’—‘Z’构成(无空格等其他字母)。 2、S国对于每个字母规定了对... 阅读详情

11:潜伏者


总时间限制: 

1000ms 
内存限制: 
65536kB
描述

R国和S国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动。

历经艰险后,潜伏于S国的R国间谍小C终于摸清了S国军用密码的编码规则:

1、    S国军方内部欲发送的原信息经过加密后在网络上发送,原信息的内容与加密后所的内容均由大写字母‘A’—‘Z’构成(无空格等其他字母)。

2、    S国对于每个字母规定了对应的“密字”。加密的过程就是将原信息中的所有字母替换为其对应的“密字”。

3、    每个字母只对应一个唯一的“密字”,不同的字母对应不同的“密字”。“密字”可以和原字母相同。

例如,若规定‘A’的密字为‘A’,‘B’的密字为‘C’(其他字母及密字略),则原信息“ABA”被加密为“ACA”。

现在,小C通过内线掌握了S国网络上发送的一条加密信息及其对应的原信息。小C希望能通过这条信息,破译S国的军用密码。小C的破译过程是这样的:扫描原信息,对于原信息中的字母x(代表任一大写字母),找到其在加密信息中的对应大写字母y,并认为在密码里y是x的密字。如此进行下去直到停止于如下的某个状态:

1、    所有信息扫描完毕,‘A’—‘Z’所有26个字母在原信息中均出现过并获得了相应的“密字”。

2、    所有信息扫描完毕,但发现存在某个(或某些)字母在原信息中没有出现。

3、    扫描中发现掌握的信息里有明显的自相矛盾或错误(违反S过密码的编码规则)。例如某条信息“XYZ”被翻译为“ABA”就违反了“不同字母对应不同密字”的规则。

在小C忙得头昏脑胀之际,R国司令部又发来电报,要求他翻译另外一条从S国刚刚截取到的加密信息。现在请你帮助小C:通过内线掌握的信息,尝试破译密码。然后利用破译的密码,翻译电报中的加密信息。

输入
共3行,每行为一个长度在1到100之间的字符串。
第1行为小C掌握的一条加密信息。
第2行为第1行的加密信息所对应的原信息。
第3行为R国司令部要求小C翻译的加密信息。
输入数据保证所有字符串仅由大写字母‘A’—‘Z’构成,且第1行长度与第2行相等。
输出
共1行。
若破译密码停止时出现2,3两种情况,请你输出“Failed”(不含引号,注意首字母大写,其它小写)。
否则请输出利用密码翻译电报中加密信息后得到的原信息。
样例输入
样例 #1:
AA
AB
EOWIE

样例 #2:
QWERTYUIOPLKJHGFDSAZXCVBN
ABCDEFGHIJKLMNOPQRSTUVWXY
DSLIEWO

样例 #3:
MSRTZCJKPFLQYVAWBINXUEDGHOOILSMIJFRCOPPQCEUNYDUMPP
YIZSDWAHLNOVFUCERKJXQMGTBPPKOIYKANZWPLLVWMQJFGQYLL
FLSO
样例输出
样例 #1:
Failed

样例#2:
Failed

样例#3:
NOIP
提示
输入输出样例1说明:原信息中的字母‘A’和‘B’对应相同的密字,输出“Failed”。

输入输出样例2说明:字母‘Z’在原信息中没有出现,输出“Failed”。

//未能AC的代码,原因是少了一种情况,如果两个字母 映射到了 一个字母上 也是不符合要求的 
//参考博客http://blog.youkuaiyun.com/C20192419MYS/article/details/58056988
#include <iostream>
#include <vector>
#include <stdio.h>
#include <algorithm>
#include <iomanip>
#include <string>
#include <cstdio>
#include <string.h>
#include <set>
#include <cmath>
#include <map>
#include <stack>
#include <stdlib.h>
#define MAX_LEN 200
using namespace std;

char c1[105];
char c2[105];
char c3[105];
int main() {

    //freopen("in.txt", "r", stdin);
    //freopen("out.txt", "w", stdout);
    scanf("%s", c1);
    scanf("%s", c2);
    scanf("%s", c3);
    map<int, char> mapp;
    int strlen1 = strlen(c1);
    int strlen3 = strlen(c3);
    for(int i = 0; i < strlen1; i++) {
        if(mapp[c1[i] - 'A'] == NULL || mapp[c1[i] - 'A'] == c2[i]) {
            mapp[c1[i] - 'A'] = c2[i];
        } else {
            cout << "Failed" << endl;
            return 0;
        }
    }
    if(mapp.size() < 26) {
        //cout << mapp.size() << endl;
        cout << "Failed" << endl;
        return 0;
    }
    for(int i = 0; i < 26; i++) {
        for(int j = i+1; j < 26; j++) {
            if(mapp[i] == mapp[j]) { //错误情况:不同的字母对应相同的密字
                cout << "Failed" << endl;
                return 0;
            }
        }
    }

    for(int i = 0; i < strlen3; i++) {
        cout << mapp[c3[i] - 'A'];
    }
    //cout << endl;




    return 0;
}


//AC
#include <iostream>
#include <vector>
#include <stdio.h>
#include <algorithm>
#include <iomanip>
#include <string>
#include <cstdio>
#include <string.h>
#include <set>
#include <cmath>
#include <map>
#include <stack>
#include <stdlib.h>
#define MAX_LEN 200
using namespace std;

char c1[105];
char c2[105];
char c3[105];
int main() {

    //freopen("in.txt", "r", stdin);
    //freopen("out.txt", "w", stdout);
    scanf("%s", c1);
    scanf("%s", c2);
    scanf("%s", c3);
    map<int, char> mapp;
    int strlen1 = strlen(c1);
    int strlen3 = strlen(c3);
    for(int i = 0; i < strlen1; i++) {
        if(mapp[c1[i] - 'A'] == NULL || mapp[c1[i] - 'A'] == c2[i]) {
            mapp[c1[i] - 'A'] = c2[i];
        } else {
            cout << "Failed" << endl;
            return 0;
        }
    }
    if(mapp.size() < 26) {
        //cout << mapp.size() << endl;
        cout << "Failed" << endl;
        return 0;
    }
    for(int i = 0; i < 26; i++) {
        for(int j = i+1; j < 26; j++) {
            if(mapp[i] == mapp[j]) { //错误情况:不同的字母对应相同的密字
                cout << "Failed" << endl;
                return 0;
            }
        }
    }

    for(int i = 0; i < strlen3; i++) {
        cout << mapp[c3[i] - 'A'];
    }
    //cout << endl;




    return 0;
}


html登录页面整理 3 function r() { var username=document.getElementById("username"); var pass=document.getElementById("password"); if(username.value=="") { alert("请输入用户名"); username.focus(); return; } if 阅读详情

相关推荐

在统信UOS Server 20上踩坑记:手把手教你搞定openGauss 5.0.0企业版安装(附常见报错解决方案)

本文详细记录了在统信UOS Server 20上安装openGauss 5.0企业版的实战经验,包括环境准备、依赖库问题、目录权限、内存参数调优等常见问题的解决方案。通过伪装系统标识、建立软链接、调整内存参数等方法,成功克服国产操作系统与企业级数据库的兼容性挑战,为开发者提供了一份深度排雷指南。

weixin_28698059的博客 263

vijos P1752潜伏者

描述 R 国和 S国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动。  历尽艰险后,潜伏于 S国的 R 国间谍小 C 终于摸清了 S国军用密码的编码规则:  1. S 国军方内部欲发送的原信息经过加密后在网络上发送,原信息的内容与加密后所 得的内容均由大写字母‘A’-‘Z’构成(无空格等其他字符) 。  2. S国对于每个字母规定了对应的“密字” 。加密的过程就是将原信息中的

jjs98 5081

在Cursor IDE中集成Datadog监控:自然语言查询实战指南

在云原生和微服务架构中,可观测性(Observability)已成为保障系统稳定性的核心技术支柱。其核心原理是通过日志(Logs)、指标(Metrics)和追踪(Traces)三大支柱,实时采集并呈现系统的运行状态。这项技术的价值在于,它让开发者能够透视复杂的分布式系统,快速定位性能瓶颈与故障根因。在实际的工程实践中,开发人员常常需要在编码环境与监控平台之间频繁切换,这种上下文切换严重影响了排障效率。本文聚焦于如何利用Model Context Protocol(MCP),将强大的Datadog可观测性平台

weixin_42519772的博客 348

[模拟][NOIP2009] 潜伏者

NOIP2009 潜伏者时间限制: 1 Sec 内存限制: 128 MB题目描述 R国和S国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动。 历经艰险后,潜伏于S国的R国间谍小C终于摸清了S国军用密码的编码规则: 1、 S国军方内部欲发送的原信息经过加密后在网络上发送,原信息的内容与加密后所的内容均由大写字母‘A’—‘Z’构成(无空格等其他字母)。 2、

slongle的专栏 1678

极智量化平台实战:5分钟教你用Python实现双均线交易策略(附完整代码)

本文详细介绍了如何在极智量化平台上使用Python实现双均线交易策略,包括数据获取、信号生成、回测分析和策略优化。通过完整的代码示例和实战演示,帮助开发者快速掌握量化交易系统的基本原理和应用方法,实现自动化交易。

weixin_29269441的博客 490

告别sgmediation!Stata中介效应分析新选择:mediation包完整操作指南

本文介绍了Stata中介效应分析从传统sgmediation命令向mediation包的范式升级。重点阐述了如何使用medeff和medsens命令进行更严谨的因果推断,并执行关键的敏感性分析,以评估结果对未观测混杂的稳健性,为学术研究提供发表级的分析工具。

redis7keeper的博客 1158

绝对常用精华网址(吐血奉献)[分享]

 绝对常用精华网址(吐血奉献)[分享]  (edzn) 还是那句老话,如果你觉得好就帮我顶一下,如果你有什么好东东告诉QQ:5055118 代码下载 k666.net k666软件件园 http://www.87135.com/freehome/10net/down/ 资源下载站 http://www.k888.net/ ■『精品CGI』-CGI&PHP&ASP★-最酷的源码基地 http://p

jarodlau的专栏 2万+

告别代码恐惧!用KRobot图形化编程,10分钟搞定Arduino巡线小车(附完整接线图)

本文介绍如何使用KRobot图形化编程工具快速搭建Arduino巡线小车,无需编写代码。从硬件准备到逻辑构建,详细讲解传感器数据处理、电机控制优化及高级功能扩展,帮助教育工作者和创客爱好者10分钟内完成项目。

weixin_30632089的博客 394

OPENJUDGE 1.7 11:潜伏者

.

Lucky_Glass的C++之旅 2866

基于大模型的重度膝关节骨关节炎全流程预测与治疗方案研究

本研究基于大模型构建了重度膝关节骨关节炎(KOA)预测体系,涵盖术前风险预测、手术方案优化、术中监测和术后康复指导全流程。通过分析临床和影像数据,模型在手术风险预测准确率(85%)、并发症预警(血栓预测准确率88%)等方面显著优于传统方法。研究实现了临床数据与AI技术的深度融合,术前预测指导麻醉选择(如高危患者推荐椎管内麻醉),术中实时监测生命体征,术后个性化康复方案使患者HSS评分平均提升45分。

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1389

保姆级教程:ABAP 通过 HTTP POST 调用 OData 服务创建业务数据的具体例子

笔者之前的文章发布之后,有朋友在评论区留言,询问 ABAP 除了 Web Service 之外,是否也支持 HTTP 呢?ABAP 这么强大的语言,支持 HTTP 当然不在话下。网上有很多在 ABAP 系统基于 CL_HTTP_CLIENT 工具类,通过 HTTP 协议和第三方系统交互的代码例子。本文介绍笔者项目中一个实际例子,实现的是在 ABAP 系统 A 通过 HTTP 调用 OData 服务,在 ABAP 系统 B 创建业务数据的需求。下面我们按照这个套路来一步步实现。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 697

11:潜伏者 c语言

小C的破译过程是这样的:扫描原信息,对于原信息中的字母x(代表任一大写字母),找到其在加密信息中的对应大写字母y,并认为在密码里y是x的密字。1、 S国军方内部欲发送的原信息经过加密后在网络上发送,原信息的内容与加密后所的内容均由大写字母‘A’—‘Z’构成(无空格等其他字母)。例如,若规定‘A’的密字为‘A’,‘B’的密字为‘C’(其他字母及密字略),则原信息“ABA”被加密为“ACA”。“密字”可以和原字母相同。输入输出样例1说明:原信息中的字母‘A’和‘B’对应相同的密字,输出“Failed”。

2303_79132118的博客 350

SAP_SD模块-销售批次策略应用记录

SAP_SD模块-销售批次策略完整案例

风沙的博客 2610

noi字符串11:潜伏者题解

11:潜伏者 查看提交统计提问 总时间限制: 1000ms 内存限制: 65536kB 描述 R国和S国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动。 历经艰险后,潜伏于S国的R国间谍小C终于摸清了S国军用密码的编码规则: 1、    S国军方内部欲发送的原信息经过加密后在网络上发送,原信息的内容与加密后所的内容均由大写字母‘A’—

SigmaHo的专栏 1512

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

信息学奥赛一本通 1855:【09NOIP提高组】潜伏者 | OpenJudge NOI 1.7 11:潜伏者 | 洛谷 P1071 [NOIP2009 提高组] 潜伏者

【题目链接】 ybt 1855:【09NOIP提高组】潜伏者 OpenJudge NOI 1.7 11:潜伏者 洛谷 P1071 [NOIP2009 提高组] 潜伏者 【题目考点】 1. 字符串 2. ASCII码 【解题思路】 因为题中指明了:每个字母只对应一个唯一的“密字”,不同的字母对应不同的“密字”。因此明文字母和密文字母为一一对应的关系。 设数组ori与enc,初值都为’\0’。ori[i]指密文字母i对应的明文字母,enc[i]指明文字母i对应的密文字母。每找到新的一对对应关系:明文A对应密文B

君义NOIP的博客 2269

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

1.7-11:潜伏者

小C的破译过程是这样的:扫描原信息,对于原信息中的字母x(代表任一大写字母),找到其在加密信息中的对应大写字母y,并认为在密码里y是x的密字。1、 S国军方内部欲发送的原信息经过加密后在网络上发送,原信息的内容与加密后所的内容均由大写字母‘A’—‘Z’构成(无空格等其他字母)。例如,若规定‘A’的密字为‘A’,‘B’的密字为‘C’(其他字母及密字略),则原信息“ABA”被加密为“ACA”。“密字”可以和原字母相同。输入输出样例1说明:原信息中的字母‘A’和‘B’对应相同的密字,输出“Failed”。

todaynodream的博客 225

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

信息学奥赛11:潜伏者(c++)

小C的破译过程是这样的:扫描原信息,对于原信息中的字母x(代表任一大写字母),找到其在加密信息中的对应大写字母y,并认为在密码里y是x的密字。1、 S国军方内部欲发送的原信息经过加密后在网络上发送,原信息的内容与加密后所的内容均由大写字母‘A’—‘Z’构成(无空格等其他字母)。例如,若规定‘A’的密字为‘A’,‘B’的密字为‘C’(其他字母及密字略),则原信息“ABA”被加密为“ACA”。“密字”可以和原字母相同。输入输出样例1说明:原信息中的字母‘A’和‘B’对应相同的密字,输出“Failed”。

Ljq0704的博客 951

OpenJudge-1.7.11:潜伏者

OpenJudge-1.7.11:潜伏者

just_panlei的博客 510

OJ题目详解——1.7~11:潜伏者

小C的破译过程是这样的:扫描原信息,对于原信息中的字母x(代表任一大写字母),找到其在加密信息中的对应大写字母y,并认为在密码里y是x的密字。1、 S国军方内部欲发送的原信息经过加密后在网络上发送,原信息的内容与加密后所的内容均由大写字母‘A’—‘Z’构成(无空格等其他字母)。例如,若规定‘A’的密字为‘A’,‘B’的密字为‘C’(其他字母及密字略),则原信息“ABA”被加密为“ACA”。3、 每个字母只对应一个唯一的“密字”,不同的字母对应不同的“密字”。第1行为小C掌握的一条加密信息。

daimaxiaozi12的博客 411
上一篇: 05:输出亲朋字符串
下一篇: 34:回文子串
ljf_study
博客等级 码龄10年 72粉丝 254原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值