luoguP1079 Vigenère 密码 题解(NOIP2012)
2024-09-06 01:25:35
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<iomanip>
#include<algorithm>
#include<ctime>
#include<queue>
#include<stack>
#define rg register
#define lst long long
#define N 1050
using namespace std; int lmy,lmw,now=-;
char my[N],mw[N],ans[N]; inline int read()
{
rg int s=,m=;rg char ch=getchar();
while(ch!='-'&&(ch<''||ch>''))ch=getchar();
if(ch=='-')m=-,ch=getchar();
while(ch>=''&&ch<='')s=(s<<)+(s<<)+ch-'',ch=getchar();
return s*m;
} int main()
{
cin>>my>>mw;
// puts(my),puts(mw);
lmy=strlen(my),lmw=strlen(mw);
// cout<<lmy<<" "<<lmw<<endl;
for(rg int i=;i<lmy;++i)
if(my[i]>='a'&&my[i]<='z')my[i]-=;
// puts(my);
for(rg int i=;i<lmw;++i)
{
now++;
if(now==lmy)now=;
ans[i]=mw[i]-my[now]+'A';
if(ans[i]<'a'&&(mw[i]>='a'&&mw[i]<='z'))ans[i]=mw[i]-my[now]+'A'+;
if(ans[i]<'A'&&(mw[i]>='A'&&mw[i]<='Z'))ans[i]=mw[i]-my[now]+'A'+;
}
puts(ans);
return ;
}
最新文章
- MVC4 +EasyUI 使用TreeGrid 方法
- 函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结 (转)
- 记linux下使用create_ap 创建热点失败及解决(涉及rfkill)
- android 单独编译某个模块
- CSS3鼠标移入移出图片生成随机动画
- Java——(二)Java集合容器
- Symfony2源码分析——启动过程1
- 函数式编程做用户登陆注册练习-pycharm上
- leaflet开源地图库源码 浏览器&;移动设备判断(browser.js)备份
- Cocos2d-x 3.2 大富翁游戏项目开发-第五部分 单机游戏-级别选择ScrollView
- Debian 8 下安装持续集成的工具Jenkins
- 什么是BFC
- Linux运维宝典:最常用的150个命令汇总
- Actifio CDS 2TB MDisk limits
- SSM_CRUD新手练习(9)显示分页数据
- Oracle中add_months()函数的用法
- 我的第一个C语言程序
- Angular之替换根组件
- Python3 使用 matplotlib 画折线图
- Netty 介绍