A-可达鸭数学

news2024/11/8 18:50:22

题目链接
在这里插入图片描述

示例1
输入

9
1
-1
0
6
54
-8
520
1907
-2023

输出

w
m
b
wmb
wmbbb
mbw
wmbwwmw
wbmbmmbm
mbwmbbwm

备注:

请注意,在可达鸭数学里是没有负号的。

请注意,不要输出多余的前导b,否则会被判Wrong Answer。(例如,虽然mwbmwbbbmw表示的是同一个数,但输出bmwbbbmw会被判Wrong Answer

题解:

首先是十进制转三进制,但由于转出来的有系数为2的
通过关系判断出公式: a ∗ 3 x = ( a − 3 ) ∗ 3 x + 3 x + 1 a*3^x=(a-3)*3^x+3^{x+1} a3x=(a3)3x+3x+1
就可以把2换成-1 2 ∗ 3 x = ( − 1 ) ∗ 3 x + 3 x + 1 2*3^x=(-1)*3^x+3^{x+1} 23x=(1)3x+3x+1

#include <iostream>
using namespace std;
void solve();
const int N = 1e6+10;
int idx;
int a[N];
void f(int x){
    if(!x){a[idx++]=0;return;}
    a[idx++]=x%3;//由于要转换,需要调整位置
    f(x/3);
}
bool fu;
int n;
void solve(){
    idx=0;
    cin>>n;
    fu=n<0;
    if(fu)n=-n;
    
    f(n);
    for(int i=0;i<idx;i++){
        while(a[i]!=-1&&a[i]!=0&&a[i]!=1){
            a[i]-=3,a[i+1]+=1;
            if(i+1>idx)idx=i;//更新最高位所在位置
        }
    }
    bool flag=false;
    if(idx==1&&a[0]==0){putchar('b');puts("");return ;}//特判
    for(int i=idx-1;i>=0;i--){
        if(a[i]!=0)flag=true;
        if(!flag&&a[i]==0)continue;//去掉前面的b
        if(fu&&a[i]==1)a[i]=-1;
        else if(fu&&a[i]==-1)a[i]=1;
        if(a[i]==-1)printf("m");
        else
        printf("%c","bw"[a[i]]);
    }
    puts("");
}
int main(){
    int _=1;
    cin>>_;
    while(_--)solve();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/606235.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

英文论文(sci)解读复现【NO.17】旋转至参加:卷积三重注意力模块

此前出了目标检测算法改进专栏&#xff0c;但是对于应用于什么场景&#xff0c;需要什么改进方法对应与自己的应用场景有效果&#xff0c;并且多少改进点能发什么水平的文章&#xff0c;为解决大家的困惑&#xff0c;此系列文章旨在给大家解读发表高水平学术期刊中的 SCI论文&a…

Elasticsearch第一天学习笔记

目录 一、Elasticsearch概述 二、elasticsearch入门 一、Elasticsearch概述 &#xff08;一&#xff09;elasticsearch是什么&#xff1f; The Elastic Stack, 包括 Elasticsearch 、 Kibana 、 Beats 和 Logstash &#xff08;也称为 ELK Stack &#xff09;。 Elaticsear…

数据库之主键、联合主键

参考文章&#xff1a;数据库之主键、联合主键 一、主键、联合主键简介 数据库主键是用来标记数据记录唯一性的列&#xff0c;不能为空&#xff0c;不能重复。 主键具有的特点&#xff1a;唯一性、非空性。 数据库联合主键&#xff1a;可以将多个列同时作为主键。&#xff0…

SQL语句之DQL语言

说明&#xff1a;DQL&#xff08;Data Query Language&#xff0c;数据查询语言&#xff09;&#xff0c;用来查询数据库表中的记录。有的书中&#xff0c;会把DQL语言放入到DML&#xff08;Data Manipulation Language&#xff0c;数据操作语言&#xff1a;数据的增删改&#…

金融数据获取:通过Ajax跳转的网页怎么爬?以东方财富基金净值数据为例

你是否碰到过点击网站上的按钮或链接&#xff0c;网页数据进行了刷新&#xff0c;但浏览器上显示的网址却没有任何变化的情况&#xff0c;这其实就是利用Ajax跳转的网页。本期笔者将以东方财富网为例展示如何获取Ajax跳转的网页内容&#xff0c;本文主要内容如下&#xff1a; 目…

MyBatis(多表查询,动态SQL的使用)

目录 多表查询 查询文章详情 查询一个用户底下的所有文章 动态SQL的使用 if 标签 trim 标签 where 标签 set 标签 foreach 标签 多表查询 现在有俩张表,一张是文章表,一张是用户表.如下: 查询文章详情 我们现在想查询得到一张表,表里面的内容和文章表大多一致,只是要在…

银行从业资格证(初级) 5天零基础拿证攻略【个人经历,亲测】

我的科目&#xff1a;《法律法规》、《个人理财》 方法 直接做真题&#xff0c;做真题错题总结归纳。 教材可买可不买&#xff0c;时间不够可以不看教材。 可以买天一金融的真题汇编&#xff0c;它附赠一个考点整理的小册子。 一定要自己整理知识框架。 看个人习惯选择网上做…

chatgpt赋能python:Python列表中随机抽取6个元素的简单方法

Python列表中随机抽取6个元素的简单方法 在Python编程中&#xff0c;列表是一种常用的数据类型&#xff0c;它允许我们存储和操作一系列数据。有时候&#xff0c;我们需要从列表中随机抽取一些元素&#xff0c;比如从一组名字中随机选择几个人参加抽奖等。本文将介绍如何使用P…

MIT 6.824 lab distributed system 分布式系统

https://youtu.be/cQP8WApzIQQ 概念 为什么需要分布式系统&#xff1f; high performanceparallelism&#xff1a;分布式系统可以实现CPU、内存、硬盘的并行运行fault tolerancephysical&#xff1a;security / isolated 分布式系统的困难 concurrency&#xff1a;各个并行的…

【unity小技巧】使用贝塞尔曲线实现导弹随机攻击敌人,也可以用于拾取物品

文章目录 先看效果代码实现1.导弹代码2.玩家生成导弹代码3.玩家挂载代码4.导弹挂载代码先看效果 代码实现 1.导弹代码 记得配置敌人为enemy标签 using System.Collections; using System.Collections.Generic; using

Nautilus Chain:独特且纯粹的创新型 Layer3

以 Layer3 架构为主要特点的模块化公链 Nautilus Chain 即将在近期上线主网&#xff0c;这也进一步引发了行业关于 Layer3 的讨论。 实际上&#xff0c;在2022年以太坊的创始人 Vitalik 提出了三大目标&#xff1a;Layer2 用于扩展&#xff0c;Layer3 用于定制功能&#xff0c;…

Transformer模型原理—论文精读

文章目录 前言模型架构Encoder和DecoderEncoderDecoder AttentionFFNEmbeddings和Positional EncodingEmbeddingsPositional Encoding 总结 前言 今天来看一下Transformer模型&#xff0c;由Google团队提出&#xff0c;论文名为《Attention Is All You Need》。论文地址。 正如…

Openwrt_XiaoMiR3G路由器_刷入OpenWrt

刷入Openwrt之前请保证小米R3G路由器已经刷入Breed控制台固件。 刷入Breed请参考&#xff1a; Openwrt_XiaoMiR3G路由器_刷入Breed固件 路由器具体配置参考 小米路由器3G参数 - 小米商城 既然要刷入OpwnWrt就需要线编译固件&#xff0c;使用lede的OpenWrt源码编译。 进入 …

K8S集群安装(二)

目录 1 安装说明.... 1 1.1 安装环境.... 1 1.2 生产环境可部署Kubernetes集群的两种方式.... 2 1.3 操作系统初始化配置.... 3 2 安装Docker/kubeadm/kubelet【所有节点】.... 4 2.1 安装Docker. 4 2.2 添加阿里云YUM软件源.... …

《Apollo 智能驾驶进阶课程》

来自 &#xff1a; https://www.bilibili.com/video/BV1G341117NQ/ https://apollo.baidu.com/ 主要学习资源如下&#xff1a; Apollo社区公众号&#xff0c;直接有整个视频教程的微信推文教程&#xff1a;链接一个CSDN博主记录的笔记&#xff1a; https://blog.csdn.net/qq_45…

08 redis经典五种数据类型及底层实现

redis是字典数据库KV键值对是什么 redis 是 key-value 存储系统&#xff0c;其中key类型一般为字符串&#xff0c;value 类型则为redis对象(redisObject)Redis定义了redisObjec结构体来表示string、hash、list、set、zset等数据类型 C语言struct结构体语法简介Redis 中每个对象…

【华为机试】死记硬背没思路?一般人我劝你还是算了吧

大家好&#xff0c;我是哪吒。 五月份之前&#xff0c;如果你参加华为OD机试&#xff0c;收到的应该是2022Q4或2023Q1&#xff0c;这两个都是A卷题。 5月10日之后&#xff0c;很多小伙伴收到的是B卷&#xff0c;那么恭喜你看到本文了&#xff0c;抓紧刷题吧。B卷新题库正在更…

Spring依赖注入解析

目录 依赖注入大致要点 依赖注入大致流程 Bean的预实例化 doGetBean createBean 完备Bean的创建过程 createBeanInstance populateBean 依赖注入大致要点 Spring在Bean实例的创建过程中做了很多精细化控制finishBeanFactoryInitialization方法里面的preInstantiateSing…

【计算机网络复习】第六章 局域网 LAN

局域网&#xff08; LAN&#xff09;概述 LAN的特点 • 覆盖范围小 房间、建筑物、园区范围 • 高传输速率 10Mb/s&#xff5e;1000Mb/s • 低误码率 10-8 &#xff5e; 10-11 • 拓扑&#xff1a;总线型、星形、环形 • 介质&#xff1a;UTP、Fiber、C…

6年测试经验之谈,为什么要做自动化测试?

一、自动化测试 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。 个人认为&#xff0c;只要能服务于测试工作&#xff0c;能够帮助我们提升工作效率的&#xff0c;不管是所谓的自动化工具&#xff0c;还是简单的SQL 脚本、批处理脚本&#xff0c;还是自己编写…