原题链接:AcWing 2058.笨拙的手指
关键词: 枚举、位进制

奶牛贝茜正在学习如何在不同进制之间转换数字。

但是她总是犯错误,因为她无法轻易的用两个前蹄握住笔。

每当贝茜将数字转换为一个新的进制并写下结果时,她总是将其中的某一位数字写错。

例如,如果她将数字 14 转换为二进制数,那么正确的结果应为 1110,但她可能会写下 0110 或 1111。

贝茜不会额外添加或删除数字,但是可能会由于写错数字的原因,写下包含前导 0 的数字。

给定贝茜将数字 N 转换为二进制数字以及三进制数字的结果,请确定 N 的正确初始值(十进制表示)。

输入格式
第一行包含 N 的二进制表示,其中一位是错误的。

第二行包含 N 的三进制表示,其中一位是错误的。

输出格式
输出正确的 N 的值。

数据范围
0≤N≤109,且存在唯一解。

输入样例:

1010
212

输出样例:

14

样例解释
14 在二进制下的正确表示为 1110,在三进制下的正确表示为 112。


c++实现:

#include <iostream>
#include <algorithm>
#include <cstring>
#include <unordered_set>
using namespace std;// 将b进制的s转化为对应的十进制
int get(string s, int b){// 秦九韶算法int ans = 0;for(auto c : s){ans = ans * b + c - '0';}return ans;
}int main(){unordered_set<int> s;string a, b;cin >> a >> b;// 枚举a的每一位 将其变号转为十进制后存入集合中for(auto&c : a){c ^= 1;s.insert(get(a, 2));// 恢复现场c ^= 1;}// 枚举b中的每一位 变号然后和集合中的数进行比较for(auto&c : b){// 先存下这一位char t = c;for(int i = 0; i < 3; i ++ ){if(t - '0' != i){c = i + '0';int x = get(b, 3);if(s.count(x)){cout << x << endl;return 0;}}}// 恢复现场c = t;}return 0;
}

AcWing 2058.笨拙的手指相关推荐

  1. [AcWing] 2058. 笨拙的手指(C++实现)秦九韶算法

    [AcWing] 2058. 笨拙的手指(C++实现)秦九韶算法 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6. 总结 1 ...

  2. acwing 2058. 笨拙的手指

    题目:笨拙的手指 奶牛贝茜正在学习如何在不同进制之间转换数字. 但是她总是犯错误,因为她无法轻易的用两个前蹄握住笔. 每当贝茜将数字转换为一个新的进制并写下结果时,她总是将其中的某一位数字写错. 例如 ...

  3. AcWing 2058. 笨拙的手指(暴力枚举)

    题目链接 https://www.acwing.com/problem/content/2060/ 思路 因为二进制和三进制有一位是错误的,那么我们直接二重循环枚举每一位,看更改后是否满足相等,如果是 ...

  4. 刷题日记 acwing 2058笨拙的手指 位运算的运用,迭代器的使用,秦九稍(别的进制转化为10进制)

    #include<iostream> #include<unordered_set> using namespace std; int get(string a,int b)秦 ...

  5. AcWing 1月9日每日一题 2058. 笨拙的手指

    AcWing 2058. 笨拙的手指 思路分析: 枚举的思想,因为题目中明确说明只有一位不同,所以可以把所有情况枚举出来,1e9的二进制最多不超过30位,三进制同理,因此分别进行枚举后,求出10进制的 ...

  6. AcWing寒假每日一题2058. 笨拙的手指

    AcWing寒假每日一题2058. 笨拙的手指 题目描述 奶牛贝茜正在学习如何在不同进制之间转换数字. 但是她总是犯错误,因为她无法轻易的用两个前蹄握住笔. 每当贝茜将数字转换为一个新的进制并写下结果 ...

  7. AcWing寒假每日一题 2058.笨拙的手指

    题目描述:2058. 笨拙的手指 - AcWing题库 奶牛贝茜正在学习如何在不同进制之间转换数字. 但是她总是犯错误,因为她无法轻易的用两个前蹄握住笔. 每当贝茜将数字转换为一个新的进制并写下结果时 ...

  8. 2058 笨拙的手指

    2058 笨拙的手指 奶牛贝茜正在学习如何在不同进制之间转换数字. 但是她总是犯错误,因为她无法轻易的用两个前蹄握住笔. 每当贝茜将数字转换为一个新的进制并写下结果时,她总是将其中的某一位数字写错. ...

  9. 2022AcWing寒假算法每日一题之2058. 笨拙的手指

    2022AcWing寒假算法每日一题之2058. 笨拙的手指 题目链接:AcWing2058. 笨拙的手指 思路: 1.数据范围为0-1e9,则输入的时候按照字符串输入 2.将二进制和三进制各位数上的 ...

最新文章

  1. Windows8 Metro开发 (04) : 保存/读取本地应用程序设置
  2. SAP Commerce Cloud Accelerator theme css 加载的问题和 multi step checkout
  3. Scrapy爬虫中的链接提取器LinkExtractor
  4. 学labview的都是什么人_为什么学美术的人,从来都不曾后悔?
  5. class属性表种类集合,以及字段详解
  6. 搭建Web站点和FTP站点
  7. i3-9100f和i5-9400f 的区别
  8. Android Studio 使用魅族手机调试时,不显示 Log 的解决方法
  9. react hooks子给父传值
  10. 从 Aave 到 Yearn:一文梳理 DeFi 中的「蓝筹股」
  11. 浅谈电话机器人与人工坐席的优劣势
  12. Linux shell脚本入门到实战详解(一)
  13. ns-allinone-3.X(simulator模拟器)简单配置
  14. 想学linux需要的电脑配置相关
  15. 迅搜中文分词简明教程
  16. CAN通信标准帧和扩展帧
  17. 恭喜!第十届“吴文俊人工智能科学技术奖”揭晓!华章多位作译者获奖
  18. linux 触摸屏驱动中断下半部实现-工作队列
  19. 电脑通过usb共享网络给手机上网
  20. B2B2C多用户商城运营内幕

热门文章

  1. VC++ SYSTEMTIME转SQL SERVER日期时间
  2. 教孩子有教养,有气质,有风度
  3. CTFHub Misc 之 鸡你太美
  4. 2020华为软件精英挑战赛——总结
  5. c语言rtrim函数返回值,rtrim()
  6. IndentationError: expected an indented block如何处理
  7. memset实例(一)
  8. 代码走查和代码审查_代码审查随时间而变化
  9. 10. hr 综合面试题汇总
  10. android自定义桌面挂件widget用法(一)