Description
In the 22nd Century, scientists have discovered intelligent residents live on the Mars.
Martians are very fond of mathematics. Every year, they would hold an Arithmetic
Contest on Mars (ACM). The task of the contest is to calculate the sum of two 100-digit numbers, and the winner is the one who uses least time.
This year they also invite people on Earth to join the contest.
As the only delegate of Earth, you're sent to Mars to demonstrate the power of mankind.
Fortunately you have taken your laptop computer with you which can help you do the job
quickly. Now the remaining problem is only to write a short program to calculate the sum
of 2 given numbers. However, before you begin to program,
you remember that the Martians use a 20-based number system as they usually have 20 fingers.
Input
You're given several pairs of Martian numbers, each number on a line.
Martian number consists of digits from 0 to 9, and lower case letters from a to j
(lower case letters starting from a to present 10, 11, ..., 19).
The length of the given number is never greater than 100.
Output
For each pair of numbers, write the sum of the 2 numbers in a single line.
Sample Input
1234567890
abcdefghij
99999jjjjj
9999900001
Sample Output
bdfi02467j
iiiij00000

 #include<iostream>
#include<stdio.h>
#include<cstring>
#include<algorithm>
using namespace std;
char a[],b[];
int r[];
int s(char d)
{
if(d>=''&&d<='')
return d-'';
else if(d>='a'&&d<='j')
return d-'a'+;
}
char q(int i)
{
if(i>=&&i<=)
return ''+i;
else if(i>=&&i<=)
return 'a'+i-;
}
int main()
{
int len1,len2,len3;
int i,j;
char c;
while(cin>>a>>b)
{
len1=strlen(a);
len2=strlen(b);
memset(r,,sizeof(r));
for(i=;i<len1/;i++)
{
c=a[i];
a[i]=a[len1--i];
a[len1--i]=c;
}
for(i=;i<len2/;i++)
{
c=b[i];
b[i]=b[len2--i];
b[len2--i]=c;
}
for(i=;i<min(len1,len2);i++)
{
r[i]=s(a[i])+s(b[i]);
}
for(i=min(len1,len2);i<max(len1,len2);i++)
{
if(len1>len2)
r[i]=s(a[i]);
else
r[i]=s(b[i]);
}
len3=i;
for(i=;i<len3;i++)
{
if(r[i]>=)
{
r[i+]++;
r[i]-=;
}
}
if(r[len3]!=)
len3++;
for(i=len3-;i>=;i--)
cout<<q(r[i]);
cout<<endl;
}
return ;
}

ZOJ Martian Addition的更多相关文章

  1. [ACM] ZOJ Martian Addition (20进制的两个大数相加)

    Martian Addition Time Limit: 2 Seconds      Memory Limit: 65536 KB   In the 22nd Century, scientists ...

  2. ZOJ Problem Set - 1205 Martian Addition

    一道简单题,简单的20进制加减法,我这里代码写的不够优美,还是可以有所改进,不过简单题懒得改了... #include <stdio.h> #include <string.h> ...

  3. ZOJ 1205 Martian Addition

    原题链接 题目大意:大数,20进制的加法计算. 解法:convert函数把字符串转换成数组,add函数把两个大数相加. 参考代码: #include<stdio.h> #include&l ...

  4. Martian Addition

    In the 22nd Century, scientists have discovered intelligent residents live on the Mars. Martians are ...

  5. C++解题报告 : 迭代加深搜索之 ZOJ 1937 Addition Chains

    此题不难,主要思路便是IDDFS(迭代加深搜索),关键在于优化. 一个IDDFS的简单介绍,没有了解的同学可以看看: https://www.cnblogs.com/MisakaMKT/article ...

  6. POJ题目细究

    acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP:  1011   NTA                 简单题  1013   Great Equipment     简单题  102 ...

  7. 【转】POJ百道水题列表

    以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...

  8. [zoj] 1937 [poj] 2248 Addition Chains || ID-DFS

    原题 给出数n,求出1......n 一串数,其中每个数字分解的两个加数都在这个序列中(除了1,两个加数可以相同),要求这个序列最短. ++m,dfs得到即可.并且事实上不需要提前打好表,直接输出就可 ...

  9. 详解OJ(Online Judge)中PHP代码的提交方法及要点【举例:ZOJ 1001 (A + B Problem)】

    详解OJ(Online Judge)中PHP代码的提交方法及要点 Introduction of How to submit PHP code to Online Judge Systems  Int ...

随机推荐

  1. java基础练习 8

    public class Eighth { /*判断101-200之间有多少个素数,并输出所有素数.素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数.也就是素数只有两个因子.*/ pu ...

  2. 隐藏或删除指定的html元素

    <div  id="Contain"> <div>好好学习<div> <div>天天向上<div> <div> ...

  3. http缓存与cdn相关技术

    阅读目录 一 http缓存 二.Http缓存概念解析 三.cdn相关技术 摘要:最近要做这个主题的组内分享,所以准备了一个星期,查了比较多的资料.准备的过程虽然很烦很耗时间,不过因为需要查很多的资料, ...

  4. ffmpeg的安装--opencv视频处理必备

    安装yasm(ffmpeg必备)wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gztar xzvf yasm-1. ...

  5. chap1 C++泛型技术基础--模板 #STL

    0 缘起 有一点编程经验和积累,想系统的学习下STL,以前都是随意做的笔记,现在想着成主题的输出一下. 书的原型是ISBN:9787302421757 <C++泛型STL原理和应用>,是从 ...

  6. 反编译与调试APK

    0×01前言 这年头,apk全都是加密啊,加壳啊,反调试啊,小伙伴们表示已经不能愉快的玩耍了.静态分析越来越不靠谱了,apktool.ApkIDE.jd GUI.dex2jar等已经无法满足大家的需求 ...

  7. VS插件-JSEnhancements

    在Visaul Studio 2010中写js或css代码,缺少像写C#代码时的那种折叠功能,当代码比较多时,就很不方便. 今天发现,已经有VS2010扩展支持这个功能,它就是——JSEnhancem ...

  8. 【ARM】S5PV210芯片的启动流程

    S5PV210芯片的设计者的思想 (1)芯片启动后执行iRom(BL0)的内容,进行时钟和看门狗等外设的初始化,将BL1和BL2拷贝到片内SRAM; (2)跳转到片内SRAM执行,完成外部SDRAM的 ...

  9. 百度移动搜索自动转码太坑爹,JS跳转地址会被抓取

    这段时间碰到个很崩溃的问题,一个页面通过 script 加载请求服务端进行统计再输出js进行跳转,分为两个步骤分别统计, 打开页面通过script 请求远程服务器进行统计并输出要通过js使页面跳转的最 ...

  10. Symfony没有安装依赖_PHP Fatal error: require(): Failed opening required

    $ php bin/console server:run PHP Warning: require(D:\home\workspace\pd\app/../vendor/autoload.php): ...