NYOJ G : 你说啥,又让我做A+B?

 

G : 你说啥,又让我做A+B?

比赛链接:http://oj.nyist.me/OJ/contest_problemset.php?cid=1036&showmsg=1   

 

题目描述

 

 

第二次招新开始了,又轮到了riba2534学长出题,学长真的想不出出什么题,于是你们还是继续做一做a+b吧

先看一下下面的字符画(头离电脑远一点):

 

##### ....# ##### ##### #...# ##### ##### ##### ##### #####
#...# ....# ....# ....# #...# #.... #.... ....# #...# #...#
#...# ....# ....# ....# #...# #.... #.... ....# #...# #...#
#...# ....# ##### ##### ##### ##### ##### ....# ##### #####
#...# ....# #.... ....# ....# ....# #...# ....# #...# ....#
#...# ....# #.... ....# ....# ....# #...# ....# #...# ....#
##### ....# ##### ##### ....# ##### ##### ....# ##### #####
#...# ....# ....# ....# #...# #.... #.... ....# #...# #...#
#...# ....# ....# ....# #...# #.... #.... ....# #...# #...#
#...# ....# ##### ##### ##### ##### ##### ....# ##### #####
#...# ....# #.... ....# ....# ....# #...# ....# #...# ....#
#...# ....# #.... ....# ....# ....# #...# ....# #...# ....#
##### ....# ##### ##### ....# ##### ##### ....# ##### #####

 

没错,就是数字从0~9,为了让这道题的难度简单一点,我们约定,两个数相加,第一个数为一个整数a,第二个数b是一个0到9之间的整数,以上述字符画的方式给出,求a+b的和

输入

 

多组测试数据,当a为0时程序结束

 

第一行给出一个数 a(1<=a<=2^65)

接下来的7行以字符画的方式给出b(0<=b<=9)

输出

输出两个数的和

样例输入

复制

1
#####
#...#
#...#
#####
....#
....#
#####
100000000000000000
#####
#....
#....
#####
#...#
#...#
#####
0

样例输出

复制

10
100000000000000006

提示

注意看样例
找特殊点。。
 
#include<stdio.h> 
#include<string.h> 
#include<algorithm> 
using namespace std; 
int main() 
{ 
    unsigned long long b; 
    char a[10][10]; 
    while(~scanf("%llu",&b)) 
    { 
        getchar(); 
        if(b==0) break; 
        for(int i=0;i<7;i++) 
        { 
            for(int j=0;j<5;j++) 
            scanf("%c",&a[i][j]); 
            getchar(); 
        } 
        if(a[0][1]=='#'&&a[3][0]=='#'&&a[3][1]=='.') 
            printf("%llu\n",b); 
        else if(a[0][0]=='.') printf("%llu\n",b+1); 
        else if(a[1][0]=='.'&&a[3][0]=='#'&&a[4][0]=='.') 
            printf("%llu\n",b+3); 
        else if(a[0][0]=='#'&&a[0][1]=='.') 
            printf("%llu\n",b+4); 
        else if(a[1][4]=='.'&&a[4][0]=='.') 
            printf("%llu\n",b+5); 
        else if(a[1][4]=='.'&&a[4][0]=='#') 
            printf("%llu\n",b+6);
        else if(a[0][1]=='#'&&a[6][0]=='.') 
        printf("%llu\n",b+7); 
        else if(a[1][4]=='#'&&a[3][1]=='#'&&a[4][0]=='#'&&a[4][4]=='#') 
        printf("%llu\n",b+8); 
        else if(a[1][0]=='#'&&a[4][0]=='.'&&a[0][1]=='#'&&a[1][4]=='#') 
        printf("%llu\n",b+9); 
        else printf("%llu\n",b+2); 
    } 
    return 0; 
} 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值