洛谷 P1555 尴尬的数字
题目背景
Bessie刚刚学会了不同进制数之间的转换,但是她总是犯错误,因为她的两个前蹄不能轻松的握住钢笔。
题目描述
每当Bessie将一个数转换成新的进制时,她总会写错一位数字。例如,她将14转化成2进制数,正确的结果是"1110",但她可能会写成"0110"或"1111"。Bessie从不会意外的增加或删减数字,所以她可能会写出以"0"开头的错误数字。
给出Bessie转换后N的2进制形式和3进制形式,请计算出N的正确数值(用十进制表示)。N可能会达到10亿,输入数据保证解的存在唯一性。
输入输出格式
输入格式:
第一行,N的2进制表示(有一位是错误的数字)
第二行,N的3进制表示(有一位是错误的数字)
输出格式:
N的正确值
输入输出样例
1010
212
14
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int len1,len2;
long long sum1;
char s1[],s2[];
int num1[],num2[];
void dfs(long long num,int tot,int pos){
if(tot==len2){
if(sum1==num){
cout<<sum1;
exit();
}
return ;
}
if(pos) dfs(num+num2[tot]*pow(,tot),tot+,pos);
else{
if(num2[tot]!=&&tot!=len2-) dfs(num,tot+,);
else dfs(num,tot+,pos);
if(num2[tot]!=) dfs(num+pow(,tot),tot+,);
else dfs(num+pow(,tot),tot+,pos);
if(num2[tot]!=) dfs(num+*pow(,tot),tot+,);
else dfs(num+*pow(,tot),tot+,pos);
}
}
int main(){
scanf("%s",s1);scanf("%s",s2);
len1=strlen(s1);
len2=strlen(s2);
if(s1[]==''){
for(int i=;i<len1;i++)
sum1+=pow(,i)*(s1[len1--i]-'');
long long x=pow(,len1-);
cout<<sum1+x;
return ;
}
if(s2[]==''){
for(int i=;i<len2;i++)
sum1+=pow(,i)*(s2[len2--i]-'');
long long x=pow(,len2-);
cout<<sum1+x;
return ;
}
for(int i=;i<len1;i++) num1[i]=s1[len1--i]-'';
for(int i=;i<len2;i++) num2[i]=s2[len2--i]-'';
for(int i=;i<len1;i++) sum1+=pow(,i)*num1[i];
for(int i=;i<len1;i++){
if(num1[i]&&i!=len1-) sum1-=pow(,i);
else sum1+=pow(,i);
dfs(,,);
if(num1[i]&&i!=len1-) sum1+=pow(,i);
else sum1-=pow(,i);
}
}
洛谷 P1555 尴尬的数字的更多相关文章
- [洛谷P3292] [SCOI2016]幸运数字
洛谷题目链接:[SCOI2016]幸运数字 题目描述 A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城 ...
- 洛谷P3868 [TJOI2009]猜数字(中国剩余定理,扩展欧几里德)
洛谷题目传送门 90分WA第二个点的看过来! 简要介绍一下中国剩余定理 中国剩余定理,就是用来求解这样的问题: 假定以下出现数都是自然数,对于一个线性同余方程组(其中\(\forall i,j\in[ ...
- 洛谷P2501 bzoj1049 [HAOI2006]数字序列
题目链接 bzoj 洛谷 题解 第一问: 假如 \(i < j\) 如果 \(j\)能从\(i\)转移过来 显然中间空隙必须足够 例如:\(50\) \(53\) \(53\) \(52\) 就 ...
- bzoj2154||洛谷P1829 Crash的数字表格&&JZPTAB && bzoj3309 DZY Loves Math
bzoj2154||洛谷P1829 https://www.lydsy.com/JudgeOnline/problem.php?id=2154 https://www.luogu.org/proble ...
- 洛谷P3292 [SCOI2016] 幸运数字 [线性基,倍增]
题目传送门 幸运数字 题目描述 A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城市的正中心,作为城市的 ...
- 洛谷P4331 [BOI2004] Sequence 数字序列 [左偏树]
题目传送门 数字序列 题目描述 给定一个整数序列 a1,a2,⋅⋅⋅,an ,求出一个递增序列 b1<b2<⋅⋅⋅<bn ,使得序列 ai 和 bi 的各项之差的绝对 ...
- 洛谷——P1216 [USACO1.5]数字三角形 Number Triangles
P1216 [USACO1.5]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左 ...
- 洛谷 P1216 [USACO1.5]数字三角形 Number Triangles(水题日常)
题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左下方的点也可以到达右下方的点. 7 3 8 8 1 0 2 7 4 4 4 5 ...
- 洛谷P1427 小鱼的数字游戏
题目描述 小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字(长度不一定,以0结束,最多不超过100个,数字不超过2^32-1),记住了然后反着念出来(表示结束的数字0就不要念出来了).这对小鱼的 ...
随机推荐
- 关于使用myeclipse搭建tomcat环境运行web项目的方法
这两天准备改同事的一个系统的自适应,然而我没想到的是我竟然在打开这个项目上就遇到了困难,真的是too young too simple,究其根本就是了解的太少了,于是为了我不忘记,用博客的方式把它记录 ...
- 浏览器和ES5的介绍
浏览器的组成 : shell(浏览器的外壳).内核(渲染引擎.js引擎)主流浏览器及其内核: IE tritent(IE9及以下,IE10及以上用webkit) ...
- vue-webpack所构建好的项目中增加Eslint
首先在package.json中配置eslint模块: 在终端运行命令:npm install 然后在build文件夹中web pack.base.conf.js配置eslint 接下来在在项目中新建 ...
- ES6学习笔记(2)----变量的解构和赋值
参考书<ECMAScript 6入门>http://es6.ruanyifeng.com/ 变量的解构和赋值 本质上:只要模式匹配,左边的变量就能被赋予右边对应的值 原则: 解构赋值的规则 ...
- 如何向妻子解释OOD (转)
此文译自CodeProject上<How I explained OOD to my wife>一文,该文章在Top Articles上排名第3,读了之后觉得非常好,就翻译出来,供不 ...
- R in action 读书笔记(1)--第五章:高级数据管理
5.2.1数学函数 函数 描述 abs(x) 绝对值 sqrt(x) 平方根 ceiling(x) 不小于x的最小整数 floor(x) 不大于x的最大整数 trunc(x) 向0的方向截取的X中的整 ...
- InChatter系统开源聊天模块前奏曲
最近在研究WCF,又因为工作中的项目需要,要为现有的系统增加一个聊天模块以及系统消息提醒等,因此就使用WCF做服务器端开发了一个简单的系统. 开发最初学习了东邪孤独大哥的<传说的WCF系列> ...
- CentOS6.8 RPM包安装快速zabbix22
CentOS6.8 RPM包安装快速zabbix22 yum install -y epel-release # yum install -y httpd php php-devel mysql-se ...
- Laravel Passport认证-多表、多字段解决方案
Laravel Passport认证-多表.多字段解决方案 2018年08月19日 09:31:01 醉卧码场君莫笑 阅读数:1632 1. 概述 API 通常使用令牌(token)进行认证并且在 ...
- vs code 用户代码片段 html.json
{ // Place your snippets for html here. Each snippet is defined under a snippet name and has a p ...