题目链接

http://acm.hdu.edu.cn/showproblem.php?pid=2100

这题开始一直想着先把26进制转换成10进制,在转换成26进制,又200个字符因而行不通,

直接卡死了,不会做,后来才知道因为是200的长度的字符串,所以啊,就是用到大数相加的思想了。

引用http://blog.csdn.net/q3498233/article/details/4427447的思路

解题思路:也是一道进制转换的问题啦,其实把字母转换成10进制后,再转换回26进制,本身就是一个逆过程。根本不用转换成10进制啦,就在26进制的基础上进行加法就是了,相加的和超过25,就进位啦,别被题目的提示给忽悠了。因为是200的长度的字符串,所以啊,就是用到大数相加的思想了

特别注意:数据如果给的是 AAAAAAAAA    *的话最后结果就是*,*是任意一个字母,这是特殊情况,大家要注意啦。

将字符串逆序,为计算方便,将长度比较少的那个字符串后面补零,,最后逆序输出即可。

我的AC代码

#include<stdio.h>
#include<string.h>
char a[210],b[210],c[210],d[210];
int main(void)
{
int i,p,q,n,s;
while(scanf("%s%s",c,d)==2)
{
p=strlen(c);
q=strlen(d);
for(i=p-1;i>=0;i--)
a[p-1-i]=c[i];
a[p]='\0';
for(i=q-1;i>=0;i--)
b[q-1-i]=d[i];
b[q]='\0';
n=p;
if(p<q)
{
for(i=p;i<q;i++)
a[i]='A';
a[i]='\0';
n=q;
}
if(p>q)
{
for(i=q;i<p;i++)
b[i]='A';
a[i]='\0';
n=p;
}
s=0;
for(i=0;i<n;i++)
{
a[i]=a[i]+b[i]+s-'A';
if(a[i]>'Z')
{
s=1;
a[i]=a[i]-26;
}
else
s=0;
}
if(s==1)
{
a[i]='B';
n++;
}
for(i=n-1;i>=0;i--)
{
if(a[i]=='A')
n--;
else
break;
}
for(i=n-1;i>=0;i--)
printf("%c",a[i]);
printf("\n");
}
return 0;
}

题目得多做多思考,才有进步。

HDU -2100-Lovekey的更多相关文章

  1. HDU 2100 Lovekey (26进制大数、字符串)

    Lovekey Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  2. (string 高精度) Lovekey hdu 2100

    Lovekey Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  3. HDU 2100 分类: ACM 2015-06-17 23:49 15人阅读 评论(0) 收藏

    Lovekey Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  4. hdu 2100

    #include<stdio.h> #include<string.h> char a[300],b[300]; int a1[300],b1[300]; int main() ...

  5. Java大数练习第二弹

    hdu1250 水题 题目链接:pid=1250">http://acm.hdu.edu.cn/showproblem.php?pid=1250 import java.util.*; ...

  6. hdu Lovekey(水题)

    #include<stdio.h> #include<string.h> ]; int main() { ],s2[]; int l1,l2,i,j,k; while(scan ...

  7. HDU 5047 Sawtooth(大数优化+递推公式)

    http://acm.hdu.edu.cn/showproblem.php?pid=5047 题目大意: 给n条样子像“m”的折线,求它们能把二维平面分成的面最多是多少. 解题思路: 我们发现直线1条 ...

  8. (01背包 排序+特判)饭卡(hdu 2546)

    http://acm.hdu.edu.cn/showproblem.php?pid=2546   Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额 ...

  9. HDU——PKU题目分类

    HDU 模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 ...

  10. HDU 1160 DP最长子序列

    G - FatMouse's Speed Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64 ...

随机推荐

  1. Can't create handler inside thread that has not called Looper.prepare() 终极解决方法

    非主线程中出现 在报错的方法前加Looper.prepare(); 方法末尾加Looper.loop(); 很简单吧

  2. 启动ipython notebook(jupyter)

    启动本地notebook 随便找一个shell,在windows里,最简单的cmd.exe就行,键入: ipython.exe notebook

  3. zencart_magiczoom

    mod_zencart_magiczoom使用   一.复制相应文件到相应目录. 二.安装sql文件. 三.按照正确命名上传商品图片,一般需要中图跟大图. 四.程序运行时会在images目录下创建ma ...

  4. zencart 掉炸天的tpl_main_page.php

    <?php /** * Common Template - tpl_main_page.php * * @version $Id: tpl_main_page.php 7085 2007-09- ...

  5. WebDriver(Selenium2) 判断页面是否刷新的方法

    http://uniquepig.iteye.com/blog/1568208 public static boolean waitPageRefresh(WebElement trigger) { ...

  6. windows下强大的wmic命令行工具

    windows最令网管诟病的地方就是命令行没有unix和linux强大.但这种情况正在不断改观,windows命令行也越来越强大了.其中,微软耗费大量精力打造的wmi就是一例.  获得进程ID与进程名 ...

  7. Entity Framework Power Tools Beta 3

    http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d/ PM> Install-P ...

  8. JAVA基础--toString, equals方法

    ==比较的是地址 equals比较的是内容. 所以要重写object的equals方法. public class TestEquals { public static void main(Strin ...

  9. PAT (Advanced Level) 1021. Deepest Root (25)

    先并查集判断连通性,然后暴力每个点作为根节点判即可. #include<iostream> #include<cstring> #include<cmath> #i ...

  10. Oracle存储过程中如何使用游标

    --本存储过程的功能:把test_tbl2中与test_tbl1中ID相同但salary不同的记录中的salary的值更新为test_tbl1中的salary的值--创建存储过程create or r ...