Sicily 1036 Crypto Columns
2015-08-12 23:23
423 查看
最近在soj刷了几天题都RE,拿1001测试了下发现确实是系统出了bug=。=作为一个main函数简洁党总是喜欢牺牲时间调用各种函数各种for循环跑。。。第一次上csdn来po代码慎立flag。代码如下。
#include<iostream> #include<string> using namespace std; void Getsequence(int s[],string str)//获取keyword的字母关联顺序 { int l=str.length(); char temp=']'; for(int i=0;i<l;i++) { for(int j=0;j<l;j++) { if(str[j]<temp&&str[j]!='a') { s[i]=j; temp=str[j]; } } temp=']'; str[s[i]]='a'; } } void recovery(string str1,string str2) { int order[100]; Getsequence(order,str1); int column_number=str1.length(); int raw_number=str2.length()/column_number; char output[11][11]; for(int i=0;i<column_number;i++) { for(int j=0;j<raw_number;j++) { output[j][order[i]]=str2[i*raw_number+j];//将密文转换成第一步加密后的二维char数组 } } for(int i=0;i<raw_number;i++)//顺序输出数组 { for(int j=0;j<column_number;j++) { cout<<output[i][j]; } } cout<<endl; } int main() { string keyword; while(cin>>keyword&&keyword!="THEEND") { string str; cin>>str; recovery(keyword,str); } }
相关文章推荐
- Android之使用Http协议实现文件上传功能
- 通晓网络测试常用命令
- Nodejs学习笔记之测试驱动
- 可以测试javascript运行效果的代码
- 使用php测试硬盘写入速度示例
- python 测试实现方法
- 举例详解PHP脚本的测试方法
- Php-Redis安装测试笔记
- mysql压力测试脚本实例
- JavaScript 组件之旅(四):测试 JavaScript 组件
- Android触屏测试实例代码
- 解析libcurl在android下的移植、编译与测试
- 几个比较实用的JavaScript 测试及效验工具
- Java中对AtomicInteger和int值在多线程下递增操作的测试
- Python实现测试磁盘性能的方法
- python自动化测试实例解析
- Python之PyUnit单元测试实例
- Appium自动化测试系列2- 写一个Python测试脚本来测试一下YY语音
- IOS UI Automation 学习之常用类,方法和模拟手势
- 测试时尚