问题 A: A + B 普拉斯

在计算机中,数字是通过像01像素矩阵来显示的,最终的显示效果如下: 
 
现在我们用01来构成这些数字

当宝儿姐输入A + B 时(log10(A)<50,log10(B)<50,且A,B均为正整数),你来计算A+B的和C,并按格式在屏幕上打印C。

输入

每组输入包括两个非负整数 A,B(log10(A)<50,log10(B)<50),已EOF结束输入 

输出

按格式在屏幕中打印C,数字之间相隔三列0。 

样例输入

3 8

样例输出

0010000000100
0110000001100
0010000000100
0010000000100
0010000000100
0010000000100
0111000001110

解析思路:

1、首先按照大数相加,把结果求出来!方法:开两个数组暴力模拟!

2、坑点:最后需要把大数的结果按照正常的顺序输出,并且是转化成01字符串!

3、01串事先存在一个二维字符串中,第一维表示0--9以及空格(三列零),第二维表示每个代表的数字(0--9以及空格)的横坐标,得到具体的横坐标后就一层一层地输出即可!把二维字符串想象成蛋糕,输出时就像横着切蛋糕一样,一层一层地去切!

4、题意,有点瑕疵!还有零的情况吧!比如零加零的情况!


题解:

 #include<iostream>
#include<stdio.h>
#include<string.h>
#include<string>
#include<vector>
#include<algorithm>
#define ll long long
using namespace std;
#define N 100 char s1[],s2[];
int sum[];
vector<int>order; char num[][][]={
{"","","","","",
"",""},
{"","","","","",
"",""},
{"","","","","",
"",""},
{"","","","","",
"",""},
{"","","","","",
"",""},
{"","","","","",
"",""},
{"","","","","",
"",""},
{"","","","","",
"",""},
{"","","","","",
"",""},
{"","","","","",
"",""},
{"","","","","",
"",""}}; void paint( )
{
for(int i=;i<=;i++){
for(int j=;j<(int)order.size();j++){
int x=order[j];
printf("%s",num[x][i]);
}
cout<<endl;
}
} int add(char s1[],char s2[]){
int len1=strlen(s1);
int len2=strlen(s2);
int i1=len1-,i2=len2-,i3=;
while(i1>=&&i2>=){
sum[i3]+=s1[i1]-''+s2[i2]-''; //记得这里是加等于!
if(sum[i3]>=){
sum[i3+]+=sum[i3]/;
sum[i3]%=;
}
i3++,i1--,i2--;
}
while(i1>=){
sum[i3]+=s1[i1]-'';
if(sum[i3]>=){
sum[i3+]+=sum[i3]/;
sum[i3]%=;
}
i3++,i1--;
}
while(i2>=){
sum[i3]+=s2[i2]-'';
if(sum[i3]>=){
sum[i3+]+=sum[i3]/;
sum[i3]%=;
}
i3++,i2--;
}
while(sum[i3]>=){ //最终的进位情况!!
sum[i3+]+=sum[i3]/;
sum[i3]%=;
i3++;
} if(sum[i3]>)
return i3+;
else
return i3;
} int main()
{
while(scanf("%s%s",s1,s2)!=EOF){
memset(sum,,sizeof(sum));
int len3=add(s1,s2); //计算大数相加 /* for(int i=0;i<len3;i++){
printf("%d",sum[i]);
}
cout<<"*****"<<endl;
*/
order.clear(); //生成次序
for(int i=len3-;i>=;i--){
order.push_back(sum[i]);
if(i!=)
order.push_back();
}
paint();
} return ;
}

(用到了vector来存贮结果)


2018/7/31-zznuoj-问题 A: A + B 普拉斯【二维字符串+暴力模拟+考虑瑕疵的题意-0的特例】的更多相关文章

  1. 2018/7/31 -zznu-oj -问题 C: 磨刀- 【扩展欧几里得算法的基本应用】

    问题 C: 磨刀 时间限制: 1 Sec  内存限制: 128 MB提交: 190  解决: 39[提交] [状态] [讨论版] [命题人:admin] 题目描述 磨刀是一个讲究的工作,只能在n℃下进 ...

  2. 2018.08.16 洛谷P1437 [HNOI2004]敲砖块(二维dp)

    传送门 看起来普通dp" role="presentation" style="position: relative;">dpdp像是有后效性的 ...

  3. 2018/7/31--zznu-oj-问题 G: 方差 普拉斯--【两重暴力循环求方差即可!】

    问题 G: 方差 普拉斯 时间限制: 1 Sec  内存限制: 128 MB提交: 94  解决: 17[提交] [状态] [讨论版] [命题人:admin] 题目描述 方差(样本方差)是每个样本值与 ...

  4. 2018 Multi-University Training Contest 4 Problem E. Matrix from Arrays 【打表+二维前缀和】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=6336 Problem E. Matrix from Arrays Time Limit: 4000/20 ...

  5. 2018/03/31 每日一个Linux命令 之 date

    date 命令主要用于查看和修改时间和时区 -- 这里主要学习基本的查看和设置时间和时区的方法. 直接显示日期 date '+%D' 效果 vagrant@hong:~$ date '+%D' 03/ ...

  6. 2018.12.31 bzoj3771: Triple(生成函数+fft+容斥原理)

    传送门 生成函数经典题. 题意简述:给出nnn个数,可以从中选1/2/31/2/31/2/3个,问所有可能的和对应的方案数. 思路: 令A(x),B(x),C(x)A(x),B(x),C(x)A(x) ...

  7. [文章汇总]ASP.NET Core框架揭秘[最近更新:2018/10/31]

    之前一段时间都在个人公众号账号“大内老A”发布关于ASP.NET Core的系列文章,很多人留言希望能够同步到这里,所以在这里 对这些文章做一个汇总,以便于PC端阅读.如果说微软官方文档主要关于ASP ...

  8. it's time to change myself now (2018.10.31)

    自16年从新屋熊职校毕业,入职深圳某厂从事云存储两年半了.两年半的时间很快,快的感觉一生都会飞快,两年多一直很忙,忙的几乎忘了自己是否正向改变过. 正向改变,or 积极改变,今年十一回家,与几个好友小 ...

  9. Unity进阶----AssetBundle_02(加载依赖关系及网络资源)(2018/10/31)

    网络资源加载: string path ="file://"+ Application.streamingAssetsPath + "\\windows\\123&quo ...

随机推荐

  1. 【数据库开发】windows下使用c++调用redis

    不废话,unix下c++调用 redis可以看这个: http://blog.csdn.net/youngqj/article/details/8266177 ==================== ...

  2. bootstrapvalidator API 文档地址: http://bootstrapvalidator.votintsev.ru/api/

    bootstrap验证插件 bootstrapvalidator 文档API 地址 (原始作者英文):http://bootstrapvalidator.votintsev.ru/api/ 具体使用( ...

  3. boost::bind四种应用场景的例子

        普通函数 int f( int a, int b ){return a + b;}boost::bind( f, _1, 9 )( 1 ) 成员函数 struct demo{int f( in ...

  4. rest_framework之ModelViewSet、路由控制、序列化组件快速搭建项目雏形

    以UserInfo表登陆接口为例 ModelViewSet的用法十分简单,定义一个视图类,指定一个模型表,指定一个序列化类即可帮我们完成增删改查等功能 示例: # 视图层 from app01.MyS ...

  5. 使用使用nltk 和 spacy进行命名实体提取/识别

    1. 什么是 命名实体提取? 参考:https://towardsdatascience.com/named-entity-recognition-with-nltk-and-spacy-8c4a7d ...

  6. 乐字节Java反射之二:实例化对象、接口与父类、修饰符和属性

    大家好,小乐继续接着上集:乐字节Java反射之一:反射概念与获取反射源头Class 这次是之二:实例化对象.接口与父类.修饰符和属性 一:实例化对象 之前我们讲解过创建对象的方式,有new .克隆.反 ...

  7. Netty框架原理

    用这张图表示的就是一个基本的Netty框架 通过创建两个线程池,一个负责接入, 一个负责处理 public class Start { public static void main(String[] ...

  8. Error: errCode: -404011 cloud function execution error | errMsg: clou……错误

    在开通了云开发之后,无论点击小程序获取openid按钮报,Error: errCode: -404011 cloud function execution error | errMsg: clou…… ...

  9. 【5号课堂】scratch制作电子生日贺卡

    贺卡在我国的使用由来已久,在古代,上层士大夫有用名帖互相问候的习俗 唐宋以后,贺卡的名称及功能有所进步,称为”门状“或“飞帖“,到了明清,又叫“红单“.“贺年帖“等等,听着名字就知功能越来越世俗化,文 ...

  10. odoo——日历的一对多与多对一

    # model文件 # -*- coding: utf-8 -*- from odoo import api, fields, models class TodoTestYear(models.Mod ...