CF1487-B Cat Cycle
一个规律题目要多做多积累 , 脑子不太灵活
题目大意:
两只猫A,B, A猫从n -> n-1 -> n-2 ... -> 1 -> 2 ... -> n ; B猫从1 -> 2 -> ... -> n -> n-1 -> ... -> 1
当两猫要相遇时,B猫往所移动得方向+1,而A猫占在相遇的位置上 (题目里面说A猫比B猫大,所以要让座...) .
输入: n为位置长度,k为第k小时 .
输出: 第k时,b猫所在得位置(数字).
思路:
整体而言,就是要知道B猫在k小时内一共移动了多少次,再将移动次数与n直接取模就是答案。
1.显然当n为偶数的时候,两者不可能相遇,将 移动次数 与n直接取模即可 (题目中k为第k小时,所以整体移动次数是k-1次)
2.当n为奇数的时候,在一个n的周期内,没相遇之前两者每移动一次都增加1,由于n为奇数,所以在移动n/2次时,就绝对会相遇一次,这时B猫就多走了一次。
也就是说,在一共移动k-1次中,每n/2次时B猫要多走一部,所以总的移动次数就是原来的再加上增加的,最后于n取模就是答案
代码如下:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#define ri register int
#define ll int
#define lll long long
using namespace std;
ll n,k;
ll t;
int main()
{
ios::sync_with_stdio(0);
cout.tie(0),cin.tie(0);
cin>>t;
while(t--)
{
cin>>n>>k;
if(n&1)
{
ll mr=n>>1; //每n/2增加一次
mr=(k-1)/mr; //所以移动k-1次要增加(k-1)/(n/2) 次
k+=mr; //此时k为B猫一共移动次数
ll ans=(k-1)%n; //取模完事
cout<<++ans<<"\n";
}
else
{
ll ans=(k-1)%n; // k-1 为移动次数
cout<<++ans<<"\n";
}
}
return 0;
}
写的溜的一批,自己就想不到
CF1487-B Cat Cycle的更多相关文章
- CF1487 Cat Cycle
一个规律题目要多做多积累 , 脑子不太灵活 CF1487 Cat Cycle 题目大意: 两只猫A,B, A猫从n -> n-1 -> n-2 ... -> 1 -> 2 .. ...
- 【Ansible】ansible循环
Ansible 循环 一.简单介绍 在ansible2.5之前,大多数人使”with_XXX”类型的关键字来操作循环,但是从2.6版本开始,官方推荐是”loop”关键字代替” with_XXX”. 1 ...
- Ansible自动化运维应用实战
实验环境 centos7.4 主机名称 IP 配置 用途 controlnode 172.16.1.120 1核/1G/60G ansible slavenode1 172.16.1.121 1核/1 ...
- 单细胞数据高级分析之消除细胞周期因素 | Removal of cell cycle effect
The normalization method described above aims to reduce the effect of technical factors in scRNA-seq ...
- shell more less cat
cat 连续显示.查看文件内容 more 分页查看文件内容 less 分页可控制查看文件内容 通俗点说: cat一次性把文件内容全部显示出来,管你看不看得清,显示完了cat命令就返回了,不能进行交互式 ...
- 使用JSONObject.fromObject的时候出现“There is a cycle in the hierarchy”异常 的解决办法
在使用JSONObject.fromObject的时候,出现“There is a cycle in the hierarchy”异常. 意思是出现了死循环,也就是Model之间有循环包含关系: ...
- JS案例之2——cycle元素轮播
元素轮播效果是页面中经常会使用的一种效果.这个例子实现了通过元素的隐藏和显示来表现轮播效果.效果比较简单. 效果图如下: 源代码如下: <!DOCTYPE html> <html&g ...
- 基于Cat的分布式调用追踪
Cat是美团点评出的一款APM工具,同类的产品也有不少,知名的开源产品如zipkin和pinpoint:国内收费的产品如oneapm.考虑到Cat在互联网公司的应用比较广,因此被纳入选型队列,我也有幸 ...
- mkdir,rmdir,cp,rm,mv,cat,touch用法
一.mkdir新建目录 1.进入tmp目录,查看该目录下面的子目录 [root@localhost ~]# cd /tmp[root@localhost tmp]# lshsperfdata_root ...
- 大众点评cat系统的搭建笔记
项目地址:https://github.com/dianping/cat 编译步骤: 这个项目比较另类,把编译需要的jar包,单独放在git分支mvn-repo里了,而且官方文档里给了一个错误的命令提 ...
随机推荐
- JavaScript设计模式样例十二 —— 享元模式
享元模式(Flyweight Pattern) 定义:减少创建对象的数量,以减少内存占用和提高性能.目的:用共享技术有效地支持大量细粒度的对象.场景:系统中有大量对象. // 构建享元对象 class ...
- python的dir()函数
dir()函数不带参数时,返回当前范围内的变量.方法和定义的类型列表:
- 查看 Linux 系统信息
查看系统信息 查看发行版信息 cat /etc/os-release lsb_release -a 查看公网 IP 地址 curl -4 icanhazip.com 查看系统架构 uname -m # ...
- MyBatis日志工厂
目录 日志工厂 标准日志实现 Log4j 使用步骤: 日志工厂 我们在测试SQL的时候,要是能够在控制台输出 SQL 的话,是不是就能够有更快的排错效率? 如果一个 数据库相关的操作出现了问题,我们可 ...
- 【VMware VCF】VCF 5.2:配置管理域 vSAN 延伸集群。
VMware vSAN 解决方案中,根据集群的配置类型分为 vSAN 标准集群.vSAN 延伸集群以及双主机集群(延伸集群特例).我们最常见的使用方式应该是 vSAN 标准集群,也就是 vSAN HC ...
- box-sizing属性的理解
使用原因 盒模型布局中padding与border也是具有尺寸的,为避免其对页面布局产生影响,可使用box-sizing: border-box;属性设置盒模型,此时便可只用设置元素宽高即可. 属性详 ...
- Spark Dataframe 转 Json
import org.apache.spark.sql.DataFrame import org.apache.spark.sql.functions._ import org.apache.spar ...
- fluent python-chap2
1. 内置序列类型 容器序列: list tuple collections.deque 可以存放不同类型的数据. 存放的是它们所包含的任意类型的对象的引用. 扁平序列: str bytes byte ...
- Asp.net 获取客户端的信息
Response.Write("客户端计算机名:" + Request.UserHostName + "<BR />"); Response.Wri ...
- CSS – Position
前言 定位是 CSS 里蛮重要的一课. 图片黑影 (overlay), back to top button, header, footer 紧贴在屏幕上下方等效果都是靠 position 完成的. ...