HDU -2100-Lovekey
题目链接
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的更多相关文章
- HDU 2100 Lovekey (26进制大数、字符串)
Lovekey Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- (string 高精度) Lovekey hdu 2100
Lovekey Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- 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 ...
- hdu 2100
#include<stdio.h> #include<string.h> char a[300],b[300]; int a1[300],b1[300]; int main() ...
- Java大数练习第二弹
hdu1250 水题 题目链接:pid=1250">http://acm.hdu.edu.cn/showproblem.php?pid=1250 import java.util.*; ...
- hdu Lovekey(水题)
#include<stdio.h> #include<string.h> ]; int main() { ],s2[]; int l1,l2,i,j,k; while(scan ...
- HDU 5047 Sawtooth(大数优化+递推公式)
http://acm.hdu.edu.cn/showproblem.php?pid=5047 题目大意: 给n条样子像“m”的折线,求它们能把二维平面分成的面最多是多少. 解题思路: 我们发现直线1条 ...
- (01背包 排序+特判)饭卡(hdu 2546)
http://acm.hdu.edu.cn/showproblem.php?pid=2546 Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额 ...
- HDU——PKU题目分类
HDU 模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 ...
- HDU 1160 DP最长子序列
G - FatMouse's Speed Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64 ...
随机推荐
- Android ART运行时无缝替换Dalvik虚拟机的过程分析
Android ART运行时无缝替换Dalvik虚拟机的过程分析 分类: Android2014-01-13 00:59 42722人阅读 评论(66) 收藏 举报 AndroidARTDalvikV ...
- 转:web_custom_request应用示例
LoadRunner提供的web_custom_request函数可以用于实现参数的动态生成.在LoadRunner中,web_reg_save_param和custom_request都常于处理参数 ...
- Codevs 5590 A+B 问题 超级版
5590 A+B 问题 超级版 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 青铜 Bronze 题目描述 Description 不用+-*/%计算A+B 输入描述 Input De ...
- 简单三段式状态机实验3-Sequence Detect(序列检测)
1.序列检测器的逻辑功能描述:序列检测指的就是将一个指定的序列从数字码流中识别出来.本例中,我们将设计一个"10010”序列的检测器.设x_in为数字码流输入,z_out为检出标记输出,高电 ...
- Firebug Console 与命令行全集
Console API 当打开 firebug (也包括 Chrome 等浏览器的自带调试工具),window 下面会注册一个叫做 console 的对象,它提供多种方法向控制台输出信息,供开发人员调 ...
- (简单) CF 44D Hyperdrive,数学。
In a far away galaxy there are n inhabited planets, numbered with numbers from 1 to n. They are loca ...
- 用php自动发邮件的简单实现
如何自动发送邮件? php自带mail方法,不过只能在linux下直接使用,windows下要配置smtp服务器,有点麻烦. 可以用一些现成的类来实现,比如很有名的phpmailer,功能很强大,代码 ...
- 静态方法List
public class Country { public static List<Country> CountryList = new List<Country> { new ...
- (中等) HDU 1495 非常可乐,BFS。
Description 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为.因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享 这一瓶可乐,而且一定要喝的和s ...
- 防止多个UIAlertView重叠弹出
http://www.jianshu.com/p/7ac398ef4532 项目中可能会遇到这种情况,好几个alertView因为逻辑关系全部弹出,用户需要一个个的点击才能将所有的alertView取 ...