记录编号 |
262116 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2012]Vigenère密码 |
最终得分 |
100 |
用户昵称 |
Shirry |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.002 s |
提交时间 |
2016-05-19 19:15:40 |
内存使用 |
0.31 MiB |
显示代码纯文本
#include<iostream>
#include<cstring>
#include<fstream>
using namespace std;
int main(){
freopen("vigenere.in","r",stdin);
freopen("vigenere.out","w",stdout);
char a[27][27]={0};
char b[100]={0},c[1000]={0};
char qq=0;
int d=0,e=0,mi=0,f=0,g=0;
for(int i=0;i<26;i++){
for(int j=0;j<26;j++){
a[i][j]=(i+j)%26;
}
}
cin.getline(b,1000);
cin.getline(c,1000);
d=strlen(b);
e=strlen(c);
while(f<e){
if((int)b[mi]>90)g=(int)b[mi]-97;
if((int)b[mi]<=90)g=(int)b[mi]-65;
if((int)c[f]<='Z'){
for(int j=0;j<26;j++){
if(a[g][j]==((int)c[f]-65)){
qq=j+65;
cout<<qq;
}
}
}
if((int)c[f]>'Z'){
for(int j=0;j<26;j++){
if(a[g][j]==((int)c[f]-97)){
qq=j+97;
cout<<qq;
}
}
}
mi++;f++;
if(mi==d)mi=0;
}
return 0;
}