【QED】高昂的猫 Ⅰ

目录

  • 题目背景
    • 题目描述
      • 输入格式
      • 输出格式
    • 测试样例
    • 样例说明
    • 数据范围
  • 思路
  • 核心代码

题目背景

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这是小橘。因为它总是看起来很高傲,所以人送外号“高昂的猫”。

题目描述

"锕狗"的房间里放着 n n n ( 1 ≤ n ≤ 1 0 9 ) (1 \leq n \leq 10^9) (1n109)个猫粮罐头。它们从左到右排成一列,上面写有编号,分别为从 1 1 1 n n n的正整数。

"小橘"是一只贪吃的猫,每天它都会从左往右巡视一遍这些罐头,并且从中吃掉一些。

每天在巡视罐头的时候,小橘都会将它在最左侧遇到的第 1 1 1个罐头吃掉,然后每间隔 2 2 2个罐头吃掉 1 1 1个罐头。

锕狗想知道,这些罐头一共能供小橘这只肥猫吃几天?而编号为 x x x ( 1 ≤ x ≤ n ) (1 \leq x \leq n) (1xn)的超级大罐头将会在第几天被吃掉?请你帮他解决这两个问题。

输入格式

输入仅一行,包含两个用空格分隔开的正整数 n 、 x n、x nx,分别表示猫粮罐头的总数和超级大罐头的编号。

输出格式

输出仅一行,包含两个正整数。两个数之间由一个英文空格隔开,分别表示小橘吃完所有罐头所需的天数,以及吃掉编号为 x x x的罐头是在第几天。

测试样例

8 6
5 2

样例说明

锕狗的房间里一共放了 8 8 8个猫粮罐头。

小橘第 1 1 1天吃掉了编号为 1 、 4 、 7 1、4、7 147的罐头。

小橘第 2 2 2天吃掉了编号为 2 、 6 2、6 26的罐头,其中包括编号为 6 6 6的超级大罐头。

小橘第 3 3 3天吃掉了编号为 3 3 3的罐头。

小橘第 4 4 4天吃掉了编号为 5 5 5的罐头。

小橘第 5 5 5天吃掉了编号为 8 8 8的罐头。

数据范围

1 ≤ n ≤ 1 0 9 1 \leq n \leq 10^9 1n109

1 ≤ x ≤ n 1 \leq x \leq n 1xn

思路

这个题目询问了两个问题,第一个是罐头一共能吃几天,还有一个是编号为 x x x的罐头是第几天吃掉的,首先我们来看第一个问题:
假设有罐头编号分别为:
1、2、3、4、5、6、7、8、9、10
第一天:1 、2、3、4、5、6、7、8、9、10
第二天:2、3、5、6、8、9
第三天:3、5、8、9
第四天:5、8
第五天:8
加入对每一天进行重新编码:
第一天:1 、2、3、4、5、6、7、8、9、10
第二天:1 、2、3、4、5、6
第三天:1 、2、3、4
第四天:1 、2
第五天:1
我们可以发现:对于重新编码的数字,每一天都是吃掉除以上余1的数字,根据这个我们可以更新每一天吃掉了多少个罐头推理出剩下的罐头数量,然后又可以继续推理出下一次的情况,一直到没有罐头
对于第二个问题:我们可以推理编号 x x x是当前第几个数字,如果是除以三余1的数那么就是被吃掉的日子。

核心代码

#include <bits/stdc++.h>
#define debug(x) cout<<#x<<" = "<<x<<"\n"
using namespace std;
typedef long long LL;int main() {int n,x;cin>>n>>x;int a=0,b=0;while(n>0){n-=(n+2)/3;a++;}while(x>0){b++;if(x%3==1)break;x-=(x+2)/3;}cout<<a<<" "<<b;return 0;
}

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

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

相关文章

C# 使用CancellationTokenSource 取消Task执行

写在前面 在Task创建并执行后&#xff0c;如果状态发生了变化&#xff0c;需要取消正在执行中的Task&#xff0c;除了使用主线程上的共享变量来判断之外&#xff0c;更优雅的方式就是就是用CancellationTokenSource来取消任务的执行。 代码实现 public static void CancelTas…

主流MQ [Kafka、RabbitMQ、ZeroMQ、RocketMQ 和 ActiveMQ]

主流MQ [Kafka、RabbitMQ、ZeroMQ、RocketMQ 和 ActiveMQ] 一&#xff0c;MQ对比图 下面是 Kafka、RabbitMQ、ZeroMQ、RocketMQ 和 ActiveMQ 的更详细和专业的对比&#xff1a; 特性/功能KafkaRabbitMQZeroMQRocketMQActiveMQ语言JavaErlangCJavaJava协议自有协议AMQP自有协…

算法工程师-机器学习面试题总结(6)

目录 1.Bagging的思想是什么&#xff1f;它是降低偏差还是方差&#xff0c;为什么&#xff1f; 2.可否将RF的基分类模型由决策树改成线性模型或者knn&#xff1f;为什么&#xff1f; 3.GBDT梯度提升和梯度下降有什么区别和联系&#xff1f; 4.如何理解Boosting和Bagging&am…

基于ssm高校实验室管理系统的设计与实现论文

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对高校实验室信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性…

散列卡片悬停变为整齐列表

效果展示 CSS 知识点 transform 属性运用 页面整体布局 <ul><li><div class"box"><img src"./user1.jpg" /><div class"content"><h4>Hamidah</h4><p>commented on your photo.<br />…

Excel 数据处理记录

20231203 excel中的字符串以符号间隔开了&#xff0c;如何将其中的字符串挑出&#xff0c;分别放到其他单元列&#xff1a; 在Excel中打开你的表格&#xff0c;选中包含以符号间隔的字符串的单元格。在顶部菜单中&#xff0c;找到“数据”选项&#xff0c;并选择“分列”。在…

电脑主板支持的cpu型号汇总

一、如何选择不同的主板和对应CPU 1、看针脚&#xff1a;网上有相应的参数&#xff0c;只要CPU能安装到主板中&#xff0c;基本就兼容&#xff0c;这主要取决CPU插槽和主板插槽十分一致。 2、看型号&#xff1a;桌面处理器&#xff0c;只有Intel和AMD两大平台&#xff0c;他们对…

dlib是什么?

dlib C Libraryhttp://dlib.net/ dlib是什么&#xff1f; Dlib is a modern C toolkit containing machine learning algorithms and tools for creating complex software in C to solve real world problems. It is used in both industry and academia in a wide range of…

基于SSM的高校共享单车管理系统的设计与实现论文

摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对于信息的宣传和管理就很关键。因此高校单车租赁信…

二百一十、Hive——Flume采集的JSON数据文件写入Hive的ODS层表后字段的数据残缺

一、目的 在用Flume把Kafka的数据采集写入Hive的ODS层表的HDFS文件路径后&#xff0c;发现HDFS文件中没问题&#xff0c;但是ODS层表中字段的数据却有问题&#xff0c;字段中的JSON数据不全 二、Hive处理JSON数据方式 &#xff08;一&#xff09;将Flume采集Kafka的JSON数据…

【华为OD题库-075】拼接URL-Java

题目 题目描述: 给定一个url前缀和url后缀,通过,分割。需要将其连接为一个完整的url。 如果前缀结尾和后缀开头都没有/&#xff0c;需要自动补上/连接符 如果前缀结尾和后缀开头都为/&#xff0c;需要自动去重 约束:不用考虑前后缀URL不合法情况 输入描述: url前缀(一个长度小于…

49.Go避免大量并发访问DB、避免缓存击穿、缓存穿透、缓存雪崩以及使用延迟双删保证数据一致性

文章目录 一、在高并发下&#xff0c;如何避免大量请求直接访问数据库&#xff1f;二、避免缓存击穿二、避免缓存穿透三、避免缓存雪崩四、延迟双删保证数据一致性五、在使用 Go 的 time.AfterFunc 函数时&#xff0c;如果删除缓存操作失败怎么办&#xff1f; MySQL和 Redis是…

vue自定义指令实现按钮只允许点击一次

vue自定义指令实现按钮只允许点击一次 vue自定义指令实现按钮只允许点击一次 这个例子中创建了一个名为 click-once 的自定义指令&#xff0c;通过 bind 钩子函数给元素绑定了一个点击事件&#xff0c;并且利用一个变量 clicked 控制了按钮只能点击一次的行为。在点击后会执行传…

【ITK库学习】使用itk库进行图像滤波ImageFilter:Voting滤波器

目录 1、itkVotingBinaryImageFilter2、itkVotingBinaryHoleFillingImageFilter 洞穴充填滤波器3、itkVotingBinaryIterativeHoleFillingImageFilter4、itkLabelVotingImageFilter 1、itkVotingBinaryImageFilter 该类是一个基类&#xff0c;用于根据前景和背景像素的邻域投票…

【数据结构实践课设】新生报道注册管理信息系统

目录 1.主要框架 2.写入文件 3.读取文件 4.注册学生信息 5.增加学生信息 6.删除学生信息 7.按姓名查询 8.按班级查询 9.按专业查询 10.打印学生信息 11.完整代码 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所…

git commit语义规范

合理的应当如 [header]fix(core): remove ....(#33949) These .... RP Close #33949(可选) Header可选 代码类 新增功能(feat) 修复缺陷(fix) 改进性能(perf) 格式化代码(style) 优化代码(refactor) 非代码类 更新测试代码(test) 部署相关变更(ci) 文档类变更(do…

【Linux】第二十七站:内存管理与文件页缓冲区

文章目录 一、物理内存和磁盘交换数据的最小单位二、操作系统如何管理内存三、文件的页缓冲区四、基数树or基数&#xff08;字典树&#xff09;五、总结 一、物理内存和磁盘交换数据的最小单位 我们知道系统当中除了进程管理、文件管理以外&#xff0c;还有内存管理 内存的本质…

思科最新版Cisco Packet Tracer 8.2.1安装

思科最新版Cisco Packet Tracer 8.2.1安装 一. 注册并登录CISCO账号二. 下载 Cisco Packet Tracer 8.2.1三. 安装四. 汉化五. cisco packet tracer教学文档六. 正常使用图 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新…

[香橙派]orange pi zero 3 烧录Ubuntu系统镜像——无需HDMI数据线安装

一、前言 本文我们将介绍如何使用orange pi zero 3 安装Ubuntu系统&#xff0c;本文相关步骤均参考自开发手册。 二、实施准备 根据开发手册中所提到的&#xff0c;我们应该拥有如下配件: 1.orange pi zero 3 开发板 2.TF 卡——最小 8GB 容量的 class10 级或以上的高速闪迪卡。…

鸿蒙OS应用开发之语句

在程序开发中&#xff0c;已经有上面的运算符和数据类型了&#xff0c;可以满足了大部的需求&#xff0c;但是这些程序还是比较简单的计算和逻辑运算&#xff0c;如果需要复杂的计算和逻辑处理&#xff0c;就需要采用复杂逻辑程序块来处理了&#xff0c;也就是复杂条件语句才能…