Do the Untwish

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1006

题意:给定密文按公式解密

注意点:pcode = (ccode + i)%28;的使用

贴代码:

  1. 1 //Problem Name: Do the Untwish
  2. 2 //Source: ZOJ 1006
  3. 3 //Author: jinjin18
  4. 4 //Main idea: easy to solve
  5. 5 //Language: C++
  6. 6 //======================================================================
  7. 7 #include<stdio.h>
  8. 8 #include<string.h>
  9. 9 #include<map>
  10. 10 using namespace std;
  11. 11
  12. 12 map<char,int> mp;
  13. 13
  14. 14
  15. 15 void init(){
  16. 16 mp['_'] = 0;
  17. 17 mp['.'] = 27;
  18. 18 for(int i = 97; i < 97+26; i++){
  19. 19 mp[i] = i - 96;
  20. 20 }
  21. 21 return;
  22. 22 }
  23. 23
  24. 24 char Findchar(int v){
  25. 25 if(v==0){
  26. 26 return '_';
  27. 27 }
  28. 28 if(v==27){
  29. 29 return '.';
  30. 30 }
  31. 31 if(v<27&&v>0){
  32. 32 return v + 96;
  33. 33 }
  34. 34 return '\0';
  35. 35 }
  36. 36 int main(){
  37. 37
  38. 38 init();
  39. 39 int k;
  40. 40 char ptext[100];
  41. 41 char ctext[100];
  42. 42 while(scanf("%d",&k)!=EOF && k !=0 ){
  43. 43 scanf("%s",ctext);
  44. 44 int n = strlen(ctext);
  45. 45 ptext[n] = '\0';
  46. 46 for(int i = 0; i < n; i++){
  47. 47 int ccode = mp[ctext[i]];
  48. 48 //printf("%d ",ccode);
  49. 49 //int pcode = ccode < 28-i? ccode+i:ccode - 28 + i;
  50. 50 int pcode = (ccode + i)%28; //写成上面那行i超过28时会出错
  51. 51 //printf("%d\n",pcode);
  52. 52 ptext[(k*i)%n] = Findchar(pcode);
  53. 53
  54. 54
  55. 55 }
  56. 56 printf("%s\n",ptext);
  57. 57 }
  58. 58 return 0;
  59. 59
  60. 60 }

ZOJ 1006 Do the Untwish的更多相关文章

  1. [ZOJ 1006] Do the Untwist (模拟实现解密)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=6 题目大意:给你加密方式,请你求出解密. 直接逆运算搞,用到同余定理 ...

  2. ZOJ 1006:Do the Untwist(模拟)

    Do the Untwist Time Limit: 2 Seconds      Memory Limit: 65536 KB Cryptography deals with methods of ...

  3. ●BZOJ 1006 [HNOI2008]神奇的国度(弦图最小染色数)○ZOJ 1015 Fishing Net

    ●赘述题目 给出一张弦图,求其最小染色数. ●题解 网上的唯一“文献”:<弦图与区间图>(cdq),可以学习学习.(有的看不懂) 摘录几个解决改题所需的知识点: ●子图和诱导子图(一定要弄 ...

  4. 题目1006:ZOJ问题(递推规律)

    题目链接:http://ac.jobdu.com/problem.php?pid=1006 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...

  5. 九度OJ 1006 ZOJ问题 (这题測试数据有问题)

    题目1006:ZOJ问题 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:15725 解决:2647 题目描写叙述: 对给定的字符串(仅仅包括'z','o','j'三种字符),推断他能否AC ...

  6. 九度oj 1006 ZOJ问题 2010年浙江大学计算机及软件工程研究生机试真题

    题目1006:ZOJ问题 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:16244 解决:2742 题目描述: 对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC.是 ...

  7. 九度OJ 1006:ZOJ问题 (递归)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:18621 解决:3197 题目描述: 对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC. 是否AC的规则如下: 1. ...

  8. ZOJ Problem Set - 1006 Do the Untwist

    今天在ZOJ上做了道很简单的题目是关于加密解密问题的,此题的关键点就在于求余的逆运算: 比如假设都是正整数 A=(B-C)%D 则 B - C = D*n + A 其中 A < D 移项 B = ...

  9. 题目1006:ZOJ问题

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:13212 解决:2214 题目描述: 对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC. 是否AC的规则如下:1. ...

随机推荐

  1. Spring Boot 第六弹,拦截器如何配置,看这儿~

    持续原创输出,点击上方蓝字关注我吧 目录 前言 Spring Boot 版本 什么是拦截器? 如何自定义一个拦截器? 如何使其在Spring Boot中生效? 举个栗子 思路 根据什么判断这个接口已经 ...

  2. 系统架构设计:平滑发布和ABTesting

    平滑发布的介绍 背景 单位的云办公相关系统没有成熟的平滑发布方案,导致每一次发布都是直接发布,dll文件或配置文件的变更会引起站点的重启. 云办公系统的常驻用户有10000+,即使短短半分多钟,也会收 ...

  3. 在Windows7系统中设置虚拟内存大小

    当我们的电脑物理内存空间不够用时,操作系统就会自动从硬盘空间上分出一块空间来当内存使用,这就是虚拟内存.可以说虚拟内存是物理内存的补充,是备用的物理内存.一般来说,如果电脑里的程序不多,占用内存资源不 ...

  4. RHSA-2017:2299-中危: NetworkManager 和 libnl3 安全和BUG修复更新(本地提权、代码执行)

    [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 修复命令: 使用root账号登陆She ...

  5. [CISCN2019 华北赛区 Day2 Web1]Hack World 1详解

    打开题目, 我们开始尝试注入, 输入0回显Error Occured When Fetch Result. 输入1回显Hello, glzjin wants a girlfriend. 输入2回显Do ...

  6. day50 Pyhton 前端01

    文档结构: <!-- 定义文档类型 --> <!DOCTYPE html> <!-- 文档 --> <html lang='en'> <!-- 仅 ...

  7. 可变数据类型不能作为python函数的参数

    可变数据类型:列表.字典 不可变数据类型:整型.浮点型.字符串.元组 为什么可变数据类型不能作为python函数的参数?请看以下例子: def foo(a=[]): a.append(1) retur ...

  8. 如何获取前端提交来得json格式数据

    composer.json { "require": { "guzzlehttp/guzzle": "~6.0" } } composer ...

  9. spring boot:shardingsphere+druid多数据源整合seata分布式事务(spring boot 2.3.3)

    一,为什么要给shardingsphere配置多数据源? 1,shardingjdbc默认接管了所有的数据源, 如果我们有多个非分表的库时,则最多只能设置一个为默认数据库, 其他的非分表数据库不能访问 ...

  10. centos8平台搭建mysql8数据库主从同步

    一,两台服务器的规划 a服务器:主机名:yjweb ip: 121.122.123.47 角色:主库 server-id:1 j服务器:主机名: os3 ip: 121.122.123.134 角色: ...