密文转换
来源:互联网 发布:php定义全局变量 编辑:程序博客网 时间:2024/04/29 16:24
ZOJ1042
思路:把三种字符分别存储,在+k1、+k2、+k3后取模
1.要考虑到k1>l1等情况
2.分母不能为0,否则会出现 Floating Point Error
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;char str[1000000];int main(){ int k1,k2,k3; int l1,l2,l3; char s1[5000],s2[5000],s3[5000]; while(cin>>k1>>k2>>k3&&(k1+k2+k3)) { cin>>str; l1=l2=l3=0; int len=strlen(str),i; for(i=0;i<len;i++) { if(str[i]>='a'&&str[i]<='i')s1[l1++]=str[i]; else if(str[i]>='j'&&str[i]<='r')s2[l2++]=str[i]; else s3[l3++]=str[i]; } // for(i=0;i<l1;i++)printf("*%c\n",s1[i]); int p1,p2,p3; //1.要考虑到k1>l1等情况 //2.分母不能为0,否则会出现 Floating Point Error if(k1>l1&&l1!=0)k1=k1%l1; if(k2>l2&&l2!=0)k2=k2%l2; if(k3>l3&&l3!=0)k3=k3%l3; p1=l1-k1; p2=l2-k2; p3=l3-k3; for(i=0;i<len;i++) { if(str[i]>='a'&&str[i]<='i'){ str[i]=s1[(p1++)%l1]; // cout<<str[i]<<endl; } else if(str[i]>='j'&&str[i]<='r')str[i]=s2[(p2++)%l2]; else str[i]=s3[(p3++)%l3]; } cout<<str<<endl; } return 0;}
0 0
- 密文转换
- Clairewd’s message(密文转换)
- 键盘明文密文转换笔记
- 明文与密文的转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 边打字边查找 baidu输入法V2.10的全新体会
- .Net的Oracle数据库ORM控件dotConnect for Oracle下载及使用方法
- python 序列:字符串、列表和元组
- shell bash判断文件或文件夹是否存在
- linux c 使用dup2函数将输出重定向到文件 --execl
- 密文转换
- Android虚拟机无键盘
- 消息队列RabbitMQ入门介绍
- php 正则匹配电话号手机号邮箱网址
- A. Police Recruits
- UIDatePicker 日期/时间选取器(滚轮)—IOS开发
- hibernate主键生成策略值sequence
- maven的配置文件Settings.xml详解
- SQL给查询结果加序号