博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
杭电 1287 破译密码
阅读量:7071 次
发布时间:2019-06-28

本文共 755 字,大约阅读时间需要 2 分钟。

^按位异或的意思。就是“不同为1,相同为0”

1^1=0 0^1=1 0^0=0
举个例子:3^5=?
3=(0011)B 5=(0101)B 
   0011
^  0101
————
  0110
0110的十进制数是6
所以3^5=6

这题其实是说存在一个大写字母x,然后让原文(都是大写字母)和x做xor后得到密文。现在给密文求原文。

因为x不知道,所以枚举x。判断方法是判断是否解密出来的原文都在'A'-'Z'范围内。

 

起初做的时候不明白那个异或怎么弄的。只要知道^符号就能做了。

代码:

View Code
1 #include
2 using namespace std; 3 int main() 4 { 5 int n,i,j; 6 char y; 7 int scr[10000]; 8 while(cin>>n) 9 {10 for(i=0;i
>scr[i];12 for(i=65;i<=90;i++)13 {14 for(j=0;j
90)16 break; 17 if(j>=n)18 break; 19 }20 for(j=0;j

 

转载于:https://www.cnblogs.com/xinmenghuairi/archive/2012/09/05/2672030.html

你可能感兴趣的文章
DMTwitterOAuth
查看>>
MySql调优常用sql语句
查看>>
NSNotificationCenter
查看>>
oneproxy-for-sqlserver的配置方法
查看>>
QPID spring 示例
查看>>
自动优化mycncart和opencart所有数据库
查看>>
快速充电技术介绍
查看>>
Laravel4 入门一
查看>>
shell学习链接
查看>>
适配多种数据结构和ui的万能适配器
查看>>
Spring Boot自定义Starter模块开发
查看>>
java.net.NoRouteToHostException: No route to host
查看>>
有限维度的向量空间
查看>>
java thirteen线程同步机制
查看>>
微信小程序教程、微信小程序开发资源下载汇总(6.16日更新,持续更新中……)...
查看>>
CentOS 6.3 安装Mysql 整理
查看>>
电脑中安装多个版本的JDK后的切换
查看>>
Docker入门与实战系列:生态系统
查看>>
.net mysql
查看>>
常用算法之二分查询python&php
查看>>