zoj 1006 Do the Untwist

2014-11-24 03:01:48 · 作者: · 浏览: 1

题目意思是给你密文,要你输出明文

给你明文加密成密文方法:ciphercode[i] = (plaincode[ki mod n] - i) mod 28.

可以得出plaincode[ki mod n]= ( ciphercode[i] + i) mod 28.

[cpp]
#include
#include
char s[305];
int a[305],b[305];
int main()
{
int l,i,k;
while(scanf("%d",&k),k)
{
scanf("%s",s);
l=strlen(s);
for(i=0;i if(s[i]=='_')a[i]=0;
else
if(s[i]=='.')a[i]=27;
else
a[i]=s[i]-'a'+1;
for(i=0;i for(i=0;i else
if(b[i]==27)printf(".");
else
printf("%c",b[i]+'a'-1);
printf("\n");
}
return 0;
}