破译密码

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5483    Accepted Submission(s): 2557

Problem Description
有个叫“猪头帮”的国家,采用一种简单的文法加密,他们所用的语言里面只有大写字母,没有其他任何字符;现在还知道他们加密的方法是:只用一个大写字母和原文进行异或运算生成密文。请你帮忙解开。
Input
有若干组,每组输入有2行,第一行整数N表示有N个密文,接着一行有N个整数分别表示N个密文。
Output
输出仅有大写字母组成的原文。
Sample Input
30 17 6 9 8 3 0 1 6 7 4 5 10 11 8 9 14 15 12 13 18 19 16 17 22 23 20 21 26 27 24
Sample Output
SDKJABCDEFGHIJKLMNOPQRSTUVWXYZ
Author
SmallBeer(CML)
Source
杭电ACM集训队训练赛(VII)


问题链接:HDU1287 破译密码。

问题简述:参见上述链接。

问题分析:C语言中,异或运算符是“^”。对于源码a,加密字母x,密文字母v,根据题意满足:a^x=v,那么有a^x^x=v^x,得a=v^x。对于所有的v,用“A”到“Z”作为x去试算,满足v^x为“A”到“Z”即为加密字母x。

试探法寻找密码用大写字母是需要找到一个字母x,满足对于所有数据计算结果都为大写字母。

程序说明:(略)。

AC的C语言程序如下:

/* HDU1287 破译密码 */#include <stdio.h>
#include <ctype.h>int main(void)
{int n, v[1024], x, i, j;while(scanf("%d", &n) != EOF) {// 读入数据for(i=0; i<n; i++)scanf("%d", &v[i]);// 试探法寻找加密用大写字母for(i='A'; i<='Z'; i++) {for(j=0; j<n; j++) {if(!isupper(v[j] ^ i))break;}if(j == n) {x = i;break;}}// 使用加密用大写字母x解密for(i=0; i<n; i++) {putchar(v[i]^x);}putchar('\n');}return 0;
}

HDU1287 破译密码【密码】相关推荐

  1. hdu1287 破译密码

    题意: 破译密码 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  2. CCF认证训练行动路线图

    通过CCF认证的训练题选自三个方面,一是CCF认证试题,二是使用北大百练的练习题等等,三是ACM-ICPC的练习题. CCF认证的试题是必须练习的,通过CCF试题的练习有助于了解试题风格特点.然而CC ...

  3. HDU各种比赛题题解(一)

    HDU各种比赛题题解(一) Gardon-DYGG Contest 1 HDU1178 Heritage from father[水题] - 海岛Blog - CSDN博客 HDU1181 变形课[D ...

  4. TYUT-A专题题解(一)

    TYUT-A专题题解(一) 01A Ad Hoc UVA353 LA5247 Pesky Palindromes[回文] - 海岛Blog - CSDN博客 UVA947 Master Mind He ...

  5. ACM程序设计基础题解

    ACM水题一 HDU1262 寻找素数对[素数] - 海岛Blog - CSDN博客 HDU4548 美素数[水题] - 海岛Blog - CSDN博客 HDU2503 a/b + c/d[水题] - ...

  6. ACM程序设计基础(1)题解

    ACM水题一 HDU1262 寻找素数对[素数] - 海岛Blog - CSDN博客 HDU4548 美素数[水题] - 海岛Blog - CSDN博客 HDU2503 a/b + c/d[水题] - ...

  7. 基础训练(六~十)题解

    基础训练(六) HDU1248 寒冰王座[0/1背包+DP] - 海岛Blog - CSDN博客 HDU1287 破译密码[密码] - 海岛Blog - CSDN博客 HDU1408 盐水的故事[模拟 ...

  8. 《程序设计技术》课程辅助学习资料

    本文档提供课程相关的辅助学习资料. 阅读程序是提高程序设计水平的最为有效的方法,<程序设计技术>课程至少应该阅读后面提供链接博文中的基础部分.能够阅读完基础部分的博文,则可以给课程学习奠定 ...

  9. POJ3749 破译密码【密码】

    破译密码 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9915   Accepted: 6020 Description ...

最新文章

  1. 汉字验证码和算式验证码
  2. 实用技巧:Excel中的常见问题以及解决方法
  3. 这是我的第一个python程序怎么打-我的第一个Python程序(运行)
  4. 深入探究ASP.NET Core读取Request.Body的正确方式
  5. CSS系列讲解-总目录
  6. 优地机器人厂家_2019中国人工智能机器人企业TOP30榜单发布 优地科技跻身前十...
  7. 【精华】详解Qt中的内存管理机制
  8. 大岩俊之实用性阅读指南pdf_《实用性阅读指南》:二八法则、笔记法......开启你的阅读技能...
  9. 批量统计多个PPTX文件中幻灯片总数量
  10. Packet Tracer 5.0建构CCNA实验攻略2配置vlan
  11. JAVA API帮助文档
  12. 46泰勒中值定理的常规证明
  13. 微博微信QQ等开发者平台注册应用时提交签名信息的坑点。
  14. 计算机导论模板,计算机导论论文提纲范文模板 计算机导论论文大纲怎样写
  15. 使用计算机处理数据第一步,2012年考研专业课自测试题及答案:计算机
  16. 和stormzhang面基后的5点感悟,值5次付费199!
  17. 计算机基础知识制图,计算机绘图基础
  18. Floorplan基本概念合集
  19. 爬虫学习2-相关原理
  20. 开源, 一种全新的创业模式,正在悄然袭来

热门文章

  1. C#兼容PHP的GZip算法
  2. 手机游戏行业洗牌在即 成本增长小团队出局
  3. reentrantlock原理_分享:synchronized和ReentrantLock的实现原理知识点
  4. 分解原理_葛兰维均线的数学拟合原理--傅立叶函数的分解的应用
  5. 页面报错500是什么意思_解决方案:品牌备案后,上传产品报错5461,A+页面报错...
  6. html5 过渡时间,CSS3 对过渡(transition)进行调速以及延时
  7. Redis 的 应用问题
  8. 计算机信息管理系统设计原理探究,计算机信息管理系统设计原理探究
  9. python图片内容识别_ubuntu 安装 pytesseract 模块进行图片内容识别
  10. Qt总结之二十:加载字体库