题目背景

Bessie刚刚学会了不同进制数之间的转换,但是她总是犯错误,因为她的两个前蹄不能轻松的握住钢笔。

题目描述

每当Bessie将一个数转换成新的进制时,她总会写错一位数字。例如,她将14转化成2进制数,正确的结果是"1110",但她可能会写成"0110"或"1111"。Bessie从不会意外的增加或删减数字,所以她可能会写出以"0"开头的错误数字。

给出Bessie转换后N的2进制形式和3进制形式,请计算出N的正确数值(用十进制表示)。N可能会达到10亿,输入数据保证解的存在唯一性。

输入输出格式

输入格式:

第一行,N的2进制表示(有一位是错误的数字)

第二行,N的3进制表示(有一位是错误的数字)

输出格式:

N的正确值

输入输出样例

输入样例#1: 复制

1010
212
输出样例#1: 复制
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 尴尬的数字的更多相关文章

  1. [洛谷P3292] [SCOI2016]幸运数字

    洛谷题目链接:[SCOI2016]幸运数字 题目描述 A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城 ...

  2. 洛谷P3868 [TJOI2009]猜数字(中国剩余定理,扩展欧几里德)

    洛谷题目传送门 90分WA第二个点的看过来! 简要介绍一下中国剩余定理 中国剩余定理,就是用来求解这样的问题: 假定以下出现数都是自然数,对于一个线性同余方程组(其中\(\forall i,j\in[ ...

  3. 洛谷P2501 bzoj1049 [HAOI2006]数字序列

    题目链接 bzoj 洛谷 题解 第一问: 假如 \(i < j\) 如果 \(j\)能从\(i\)转移过来 显然中间空隙必须足够 例如:\(50\) \(53\) \(53\) \(52\) 就 ...

  4. bzoj2154||洛谷P1829 Crash的数字表格&&JZPTAB && bzoj3309 DZY Loves Math

    bzoj2154||洛谷P1829 https://www.lydsy.com/JudgeOnline/problem.php?id=2154 https://www.luogu.org/proble ...

  5. 洛谷P3292 [SCOI2016] 幸运数字 [线性基,倍增]

    题目传送门 幸运数字 题目描述 A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城市的正中心,作为城市的 ...

  6. 洛谷P4331 [BOI2004] Sequence 数字序列 [左偏树]

    题目传送门 数字序列 题目描述 给定一个整数序列 a1​,a2​,⋅⋅⋅,an​ ,求出一个递增序列 b1​<b2​<⋅⋅⋅<bn​ ,使得序列 ai​ 和 bi​ 的各项之差的绝对 ...

  7. 洛谷——P1216 [USACO1.5]数字三角形 Number Triangles

    P1216 [USACO1.5]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左 ...

  8. 洛谷 P1216 [USACO1.5]数字三角形 Number Triangles(水题日常)

    题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左下方的点也可以到达右下方的点. 7 3 8 8 1 0 2 7 4 4 4 5 ...

  9. 洛谷P1427 小鱼的数字游戏

    题目描述 小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字(长度不一定,以0结束,最多不超过100个,数字不超过2^32-1),记住了然后反着念出来(表示结束的数字0就不要念出来了).这对小鱼的 ...

随机推荐

  1. Vue 学习之el、template、replace和vue的生命周期 参考网址:https://segmentfault.com/a/1190000008010666

  2. 坑爹的鲁大师,VMware Workstation 报错(AsyncSocket error)一例解决

    今天准备把电脑上安装的VMware Play换成VMware Workstation,毕竟 Workstation 的快照功能还是很有必要的. 结果,VMware Workstation 安装成功后, ...

  3. ES之值类型以及堆和栈

    ES的数据类型: 原始类型(值存在栈内存中): Number.String Boolean.undefined.null charAt(index)返回该index所在的字节,charCodeAt(i ...

  4. spring 配置 shiro rememberMe

    1.shiro 提供记住我的功能,当将form表单中name="rememberMe" 的value设为true或者登陆的token中.token.setRememberMe(tr ...

  5. 掌握Spark机器学习库-07-随机梯度下降

    1)何为随机梯度下降 优化方法 迭代更新,来寻找函数全局最优解的方法 与最小二乘法相比:适用于变量众多,模型更复杂 2)梯度 变化最快,“陡峭” 通过函数表达式来衡量梯度 3)随机梯度下降原理推导过程 ...

  6. markdown表格中怎么插入逻辑或符号|?

    | 73向下投票接受 | 如果你删除反引号(****),使用|`黑客作品 a | r ------------|----- `a += x;` | r1 a |= y; | r2 并产生以下输出 在这 ...

  7. Android(java)学习笔记199:JNI之JNI概念

    1. JNI是什么? java native interface (java本机接口) 比如方法声明: public final native Class<?>  getClass(): ...

  8. vs code 用户代码片段 html.json

    {     // Place your snippets for html here. Each snippet is defined under a snippet name and has a p ...

  9. C#委托与事件的关系(转载)

    1.C#中的事件和委托的作用?事件代表一个组件能够被关注的一种信号,比如你的大肠会向你发出想拉屎的信号,你就可以接收到上厕所.委托是可以把一个过程封装成变量进行传递并且执行的对象,比如你上蹲坑和上坐马 ...

  10. 解决WCF接口无法传递object参数的问题

    在某些场合中,我们需要提供以object为参数的方法.不过在WCF中,由于需要序列化与反序列化,因此它要求所有WCF传递的参数类型都是已知的,无法传递object这种未知类型.即使用了KnownTyp ...