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 ...
随机推荐
- VS2005混合编译ARM汇编代码-转
原文地址:http://blog.csdn.net/annelcf/article/details/5468093 公司HW team有人希望可以给他们写一个在WinCE上,单独读写DDR的工具,以方 ...
- Claris and XOR(模拟)
Claris and XOR Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- 深究Xcode的bitcode设置
深究Xcode的bitcode设置 转发至:http://www.jianshu.com/p/f42a33f5eb61 前言 做iOS开发的朋友们都知道,目前最新的Xcode7,新建项目默认就打开了b ...
- 我想操作的是利用SqlDataAdapter的几个Command属性(InsertCommand,UpdateCommand,DeleteCommand)来更新数据库
我想操作的是利用SqlDataAdapter的几个Command属性(InsertCommand,UpdateCommand,DeleteCommand)来更新数据库代码:SqlConnection ...
- ural1752 Tree 2
Tree 2 Time limit: 1.0 secondMemory limit: 64 MB Consider a tree consisting of n vertices. A distanc ...
- 用free -m查看的结果:
用free -m查看的结果: # free -m total used free shared buffers cached Mem: ...
- centos常用配置收集
配置ntp服务器: # vi /etc/ntp.conf driftfile /var/lib/ntp/driftrestrict -4 default kod notrap nomodifyrest ...
- Cannot call sendError() after the response has been committed - baiyangliu - 博客频道 - CSDN.NET
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- Sping--集合注入
UserDAOImpl.java: package com.bjsxt.dao.impl; import java.util.List; import java.util.Map; import ja ...
- HUST 1372 marshmallow
很简单的博弈题.....算几组能得到规律了. 某个状态先手要赢 等价于 之前有一种状态是后手赢,先手可以保证让现在这个状态到达那个状态 #include<cstdio> #include& ...