题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2100
一道水题,orz,WA了3次,坑爹啊。。。。
不说了,就是一个26进制加分,结果应该是要写成最简洁形式的。。。
View Code
1 #include<iostream> 2 #include<cstring> 3 #include<cmath> 4 const int N=222; 5 using namespace std; 6 char str1[N],str2[N],str[N]; 7 8 int main(){ 9 while(~scanf("%s",str1)){ 10 scanf("%s",str2); 11 int len1=strlen(str1); 12 int len2=strlen(str2); 13 int i=0,j=0,k=0,c=0,l=0; 14 for(i=len1-1,j=len2-1;i>=0&&j>=0;i--,j--){ 15 c+=str1[i]+str2[j]-'A'-'A'; 16 str[k++]=c%26+'A'; 17 c/=26; 18 } 19 while(i>=0){ 20 c+=str1[i--]-'A'; 21 str[k++]=c%26+'A'; 22 c/=26; 23 } 24 while(j>=0){ 25 c+=str2[j--]-'A'; 26 str[k++]=c%26+'A'; 27 c/=26; 28 } 29 if(c)str[k++]=c+'A'; 30 l=k-1; 31 while(str[l]=='A'&&l>=1)l--; 32 for(int i=l;i>=0;i--){ 33 printf("%c",str[i]); 34 } 35 printf("\n"); 36 } 37 return 0; 38 }