A. Vasya and Book ( Codeforces Educational Codeforces Round 55 )
2024-09-06 02:51:49
题意:当前在看书的第 x 页,每次可以向前或者向后翻 d 页,这个书一共 n 页,问能否用最小操作翻到第 y 页。
题解:三种情况:1、直接翻能到的一定最短。 2、先翻到第一页,然后往后翻,翻到第 y 页。3、先翻到第 n 页,然后往前翻,翻到第 y 页。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
int ans,t,n,x,y,d;
cin >> t;
while(t--)
{
ans = 0;
cin >> n >> x >> y >> d;
if(abs(x-y) %d == 0)
{
ans = abs(x-y) / d;
printf("%d\n",ans);
continue;
}
else {
int x1;
if(x % d == 0) x1 = x /d;
else x1 = x / d +1;
if((y-1) % d == 0)
{
x1 += (y-1) / d;
}
else x1 = -1;
int x2;
if(abs(n - x) % d == 0) x2 = abs(n - x) / d;
else x2 = abs(n - x) / d + 1;
if((n-y)%d==0)
{
x2 += (n-y)/d;
}
else x2 = -1;
if(x1 == -1 && x2 == -1) ans = -1;
else if(x1 == -1 && x2 >= 0) ans = x2;
else if(x2 == -1 && x1 >= 0) ans = x1;
else ans = min(x1,x2);
printf("%d\n",ans);
}
}
return 0;
}
最新文章
- MUI APP防止登陆页面出现白屏
- SharePoint 2013 必备组件之 Windows Server AppFabric 安装错误
- python_爬虫一之爬取糗事百科上的段子
- java.lang.UnsupportedOperationException: Can&#39;t convert to dimension: type=0x12
- WCF--安全小见解...
- HMM 自学教程(二)生成模型
- 【原创】用Pwnage + Redsnow 制作完美越狱固件
- 在C# WinForm程序中创建控件数组及相应的事件处理
- Linux下搭建Oracle11g RAC(6)----安装Grid Infrastructure
- Repeater控件实现数据绑定,并实现分页效果
- 第1阶段——关于u-boot目标文件start.o中.globl 和.balignl理解(3)
- Nginx+uWSGI+Django环境配置
- Linux进程管理 - ps,top,pstree,signal,kill,killall举例演示
- 字符和字符串在Java中的旅程
- qemu中使用9p,支持host和guest中共享目录【转】
- 搭建elasticsearch可视化插件
- 【C++】STL算法之remove_if
- CSS快速入门-组合选择器
- UVALive 6889 City Park 并查集
- Zookeeper之Curator(1)客户端基本的创建,删除,更新,查找操作api