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

题目链接:AcWing2058. 笨拙的手指

思路:

1.数据范围为0~1e9,则输入的时候按照字符串输入

2.将二进制和三进制各位数上的数字分别存入数组中并记录数组的长度,便于后续求原来的值

3.多重循环,分别改变各位数上的数字,判断二进制数与三进制数是否相等。

细节:在二进制位上的数改变的时候,可以采用异或1的方式进行,因为11=0,01=1;

具体代码如下:

#include <iostream>
#include <math.h>
#include <cstring>
#include <algorithm>
#define ll long long
using namespace std;
const ll N = 1e6+10;
ll t[N];
ll two[N];
ll three[N];
int main()
{string a,b;cin>>a>>b;ll l1 = 0,l2 = 0;for(ll i=a.size()-1;i>=0;i--){two[++l1]=a[i]-'0';//将二进制数字倒序存入数组}for(ll i=b.size()-1;i>=0;i--){three[++l2]=b[i]-'0';//将三进制数字倒序存入数组}for(ll i=1;i<=l1;i++){two[i]=two[i]^1;//利用异或1改变数字,0->1,1->0for(ll j=1;j<=l2;j++){for(int k=0;k<=2;k++){if(three[j]==k)continue;//如果是相同的数字,则不发生改变ll three1 = three[j];//暂存该位数上的数字three[j]=k;//改变位数上的数字ll sum1 = 0,sum2 = 0;for(ll r=1;r<=l1;r++)sum1+=two[r]*pow(2, r-1);//计算二进制代表的数for(ll r=1;r<=l2;r++)sum2+=three[r]*pow(3, r-1);//计算三进制代表的数if(sum1==sum2)//如果相等,则直接输出,结束程序{cout<<sum1<<endl;return 0;}three[j]=three1;//还原}}two[i]=two[i]^1;//还原}return 0;
}

2022AcWing寒假算法每日一题之2058. 笨拙的手指相关推荐

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

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

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

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

  3. 【备战蓝桥】 算法·每日一题(详解+多解)-- day1

    [备战蓝桥] 算法·每日一题(详解+多解)-- day1 ✨博主介绍 什么是蓝桥杯 第一题: 第二题 第三题 第四题 第五题 第六题 第七题

  4. 【备战蓝桥杯】 算法·每日一题(详解+多解)-- day11

    [备战蓝桥杯] 算法·每日一题(详解+多解)-- day11 ✨博主介绍 前言 Dijkstra 算法 流程 网络延迟时间 解题思路 Bellman-Ford 算法 流程 K 站内最便宜的航班 解题思 ...

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

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

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

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

  7. AcWing 2058.笨拙的手指

    原题链接:AcWing 2058.笨拙的手指 关键词: 枚举.位进制 奶牛贝茜正在学习如何在不同进制之间转换数字. 但是她总是犯错误,因为她无法轻易的用两个前蹄握住笔. 每当贝茜将数字转换为一个新的进 ...

  8. 2058 笨拙的手指

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

  9. acwing 2058. 笨拙的手指

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

最新文章

  1. Windows Server 2008 R2安装IIS
  2. JVM 类加载机制:编译器常量与初始化
  3. spark 持久化 mysql_Spark读取数据库(Mysql)的四种方式讲解
  4. C# List泛型集合中的GroupBy用法
  5. SSH原理与运用(一):远程登录
  6. windox与ubuntu18.04安装clion及导入qt库
  7. Vue slot用法(2018.09.05 星期三)
  8. XX 公司网络信息系统的安全方案设计书
  9. 【Spring基础】CGLIB动态代理实现原理
  10. 苹果手机如何查看html代码,苹果手机怎么利用代号查看硬件信息
  11. 离开百度的50余位AI大牛,假如组一个这样的公司……
  12. 如何制作一个餐厅下单和外卖二维码?
  13. 进入BeOS的花花世界 系列三
  14. 当易方达张坤遇招商白酒侯昊
  15. C#MessageBox(消息提示框)使用详解
  16. 晕,超级详细的IPTABLES指南
  17. Android实现仿支付宝流水
  18. 最新法定假日修改及2008年法定假日安排
  19. 网页二维码,App 扫码登录实现原理
  20. 漏洞通告 |IBM发布9月更新, 修复墨云科技报告的漏洞

热门文章

  1. python 删除指定后缀文件_python3 遍历删除特定后缀名文件的方法_天津SEO
  2. win人工智能助手——小爱同学uwp版 (win10专属)
  3. 计算机思维典型方法有抽象,传说中的四大编程思维 一篇彻底搞清楚
  4. 推荐10个在线logo设计网站
  5. 自定义控件---继承ViewGroup类方式(循序渐进之第1步效果----图片左右拖动)
  6. 程序员应知必会的思维模型之 18 林纳斯定律 (Linus‘s Law)
  7. O2O营销结构思维导图模板分享
  8. linux环境下ps命令行,Linux系统ps命令详解:查看正在运行的进程
  9. 假如不小心因病去世,怎么给家人留下足够的财富呢?
  10. 讲故事投资 天使投资人的中国式生存