hdoj 2100 Lovekey 【另类A+B】

直接将a与b相加就好了。

代码:

#include <stdio.h>
#include <string.h>
#define M 210
char a[M], b[M],c[M];
int main(){
    while(scanf("%s%s", a, b) == 2){
        int la = strlen(a)-1;
        int lb = strlen(b)-1;
        memset(c, 0, sizeof(c));
        int k = 0;
        while(la>=0&&lb>=0){
            c[k] = a[la]+(b[lb]-'A');
            la--; lb --; k++;
        }
        while(la>=0){
            c[k++] = a[la]; la--;
        }
        while(lb >= 0){
            c[k++] = b[lb]; lb --;
        }
        //printf("..");
        int i = 0;
        while(i < k){
            if(c[i]>'Z'){
                c[i] -= 26;
                c[i+1] += 1;
            }
            i++;
        }
        if(c[k]){
            c[k++] += 'A';
        }
        while(c[k-1] == 'A'&&k > 0) k --;
        for(i = k-1; i > 0; i --)
            printf("%c", c[i]);
        printf("%c\n", c[0]);
    }
}

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2100

时间: 2024-10-12 17:39:44

hdoj 2100 Lovekey 【另类A+B】的相关文章

HDU 2100 Lovekey 模拟26进制

Problem Description XYZ-26进制数是一个每位都是大写字母的数字. A.B.C.-.X.Y.Z 分别依次代表一个0 ~ 25 的数字,一个 n 位的26进制数转化成是10进制的规则如下 A0A1A2A3-An-1 的每一位代表的数字为a0a1a2a3-an-1 ,则该XYZ-26进制数的10进制值就为 m = a0 * 26^(n-1) + a1 * 26^(n-2) + - + an-3* 26^2 + an-2*26 + an-1 一天vivi忽然玩起了浪漫,要躲在学校

HDU 2100 Lovekey(26进制相加 数学啊)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2100 Problem Description XYZ-26进制数是一个每位都是大写字母的数字. A.B.C.-.X.Y.Z 分别依次代表一个0 ~ 25 的数字,一个 n 位的26进制数转化成是10进制的规则如下 A0A1A2A3-An-1 的每一位代表的数字为a0a1a2a3-an-1 ,则该XYZ-26进制数的10进制值就为 m = a0 * 26^(n-1) + a1 * 26^(n-2) +

hdoj 1203 I NEED A OFFER! 【另类01背包】【概率背包】

题意:... 策略:动态规划. 因为是求至少能得到一个offer的概率,那我们可以反着求,求得不到一个offer的概率,最后用1减去就好了. 代码: #include<string.h> #include<stdio.h> double dp[10010]; struct node{ int a; double b; }s[10010]; int main() { int n, m, i, j; while(scanf("%d%d", &n, &

hdoj 2035 人见人爱A^B 【另类阶乘】

这道题就是大数阶乘的另类运用. 直接上代码: #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int dp[1005][1005]; int main() { int n, m, a[3], i, j; //数组开到3就是前三位 while(scanf("%d%d", &n, &m), n||m){ memset(a, 0, s

(string 高精度) Lovekey hdu 2100

Lovekey Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 9070    Accepted Submission(s): 2976 Problem Description XYZ-26进制数是一个每位都是大写字母的数字. A.B.C.-.X.Y.Z 分别依次代表一个0 ~ 25 的数字,一个 n 位的26进制数转化成是10进制的规

Bestcoder #21&amp;&amp;hdoj 5139 Formula 【另类打表之分块】

Formula Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 155    Accepted Submission(s): 69 Problem Description f(n)=(∏i=1nin?i+1)%1000000007 You are expected to write a program to calculate f(n)

hdoj 2126 Buy the souvenirs 【另类01背包】

题意:求最多购买的件数以及有几种方法. 一看到这题就想到了背包,因为求得是种类数,所以我们可以将件数看做价值,将价格看做重量,这就变成01背包了(dp),但是还要求有几种购买方案,那么再来一个背包(kind). 分析:有三种情况: 1>dp[j] < dp[j-s[i]]+1 那么对于这一种情况  方案背包的状态转移方程是kind[j] = kind[j-s[i]]?kind[j-s[i]]:1;(考虑到kind[j-s[i]] ==0的时候,这时候kind[j] = 1): 证明:为什么是k

HDOJ 4901 The Romantic Hero

DP....扫两遍组合起来 The Romantic Hero Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 547    Accepted Submission(s): 217 Problem Description There is an old country and the king fell in love with a

HDOJ 1823 Luck and Love

二维线段树模版题... Luck and Love Time Limit: 10000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5397    Accepted Submission(s): 1348 Problem Description 世界上上最远的距离不是相隔天涯海角 而是我在你面前 可你却不知道我爱你 ―― 张小娴 前段日子,枫冰叶子给Wiskey做了