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里了,而且官方文档里给了一个错误的命令提 ...
随机推荐
- 解决Windows突然自动重启卡logo
一般重启后或者卡logo我们需要查看日志 进入后查看日志 点击筛选当前日志 输入eventlog 找到重启的时间错误ID,记住这个事件ID 我们再次点击筛选当前日志页面 选择清除,点击确定 然后我们找 ...
- 2023 ICPC 杭州题解
游记 gym F. Top Cluster std 二分答案.需要判断点权 \(\le mid\) 的点到询问点的最大距离.直径. K. Card Game 设 \(f[l,r]\) 为 \([l,r ...
- Linux下如何在程序中获取某个命令执行的结果?【附源码】
在工作中遇到一个问题,就是想获取某个函数执行之后打印的字符串信息. 这个功能应用场景挺多的, 特地整理了一下相关知识点分享给大家. 1. 使用临时文件 1) 使用shell的重定向 将命令输出重定向到 ...
- C语言之父和Linux之父谁更伟大?
前言 在计算机软件领域,做出过重大贡献的神人很多,比如:<计算机程序设计艺术>(The Art of Computer Programming)一书的作者- Donald Knuth:Pa ...
- 从网友探秘 《黑神话:悟空》 的脚本说说C#
<黑神话:悟空>千呼万唤始出来.在正式发售后不到24小时,Steam在线玩家峰值突破222万,在Steam所有游戏在线玩家历史峰值中排名第二.第一拨玩家纷纷晒出好评,称这款现象级产品正式开 ...
- 我的 PowerShell 配置
安装 Scoop: Scoop 是 Windows 上的包管理器 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUse ...
- 又一个Rust练手项目-wssh(SSH over Websocket Client)
原文地址https://blog.fanscore.cn/a/61/ 1. wssh 1.1 开发背景 公司内部的发布系统提供一个连接到k8s pod的web终端,可以在网页中连接到k8s pod内. ...
- C++ 高效使用智能指针的8个建议
C++ 高效使用智能指针的8个建议 前言:智能指针是C++11提供的新特性,它基于RAII实现,可以自动管理内存资源,避免内存泄漏的发生,但是智能指针也并不是万能的,如果不正确使用智能指针,也会导致内 ...
- 应聘软件测试 HR 会问到哪些问题?收藏这一篇就够了!
1.你还有收到其他offer吗? 其实hr问你offer情况,是对你感兴趣,想要进一步了解你,看下你的市场竞争力. 但注意不要太坦诚的说:我还没有offer或者收到两个offer还想对比对比:也不要撒 ...
- [Tkey] 生日礼物
题意简述 彩珠有 \(n\) 个 \(k\) 种,每个珠子都有一个坐标 \(p_{i}\),求最小的区间长度,使得这个区间包含全部的 \(k\) 种彩珠. 分析 发现我们可以维护每一种颜色的最近出现坐 ...