nefu 1116
4851 ワード
文字列暗号化
Problem : 1116
Time Limit : 1000ms
Memory Limit : 65536K
description
input
output
sample_input
sample_output
//while..おもしろい...
//次はタイムアウト前のコード
Problem : 1116
Time Limit : 1000ms
Memory Limit : 65536K
description
, , ( )。
26 , , 0~9 , :
1、 x, x 。 2a a 2 , c, 1z z 1 , a。
2、 , 。
input
, 。 1000000, , 9, 。
output
。
sample_input
happynewyear
25ia1op4un4a1vy3ba24t
sample_output
happynewyear
happynewyear
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <string.h>
using namespace std;
char *ch="abcdefghijklmnopqrstuvwxyz";
char a[1200000];
int main()
{
int i,k,j,shu,tmp,cou;
while(scanf("%s",a)!=-1)
{
for(i=0;a[i]!='\0';)
{
k=0;shu=0;j=1;
while(a[i]>='0'&&a[i]<='9')
{
k++;
i++;
}// i
if(k)
{
for(cou=1;cou<=k;cou++)
{
shu=shu+(((int)a[i-cou]-48)*j);
j=j*10;
}
tmp=(a[i]-97+shu)%26;
printf("%c",ch[tmp]);
}
else cout<<a[i];
i++;
}
cout<<endl;
}
return 0;
}
//while..おもしろい...
//次はタイムアウト前のコード
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <string.h>
using namespace std;
char *ch="abcdefghijklmnopqrstuvwxyz";
char a[1200000];
int main()
{
int k,shu,tmp,i;
while(scanf("%s",a)!=-1)
{
for(i=0;i<strlen(a);i++)
{
if(a[i]<='z'&&a[i]>='a')
{
if(a[i-1]>'9'||a[i-1]<'0')
printf("%c",a[i]);
else
{
shu=(int)a[i-1]-48;
if(a[i-2]<='9'&&a[i-2]>='0')
shu=shu+((int)a[i-2]-48)*10;
tmp=(a[i]-97+shu)%26;
printf("%c",ch[tmp]);
}
}
}
cout<<endl;
}
return 0;
}