描述

红包是一个萌萌的男孩子。

红包由于 NOI 惨挂,直到前不久依然无心写作业。如今快开学了,他决定好好完成作业。

对于可以交电子稿的作文,红包有特殊的完成技巧,大致流程是依次选中一段内容→按下 Ctrl+C→按下 Ctrl+V 。

由于红包的键盘过于奇特,只有 ↑,↓,←,→,Fn 这 55 个按键能够移动光标,导致每次选中一段内容总要费上一番功夫。

按键 功能
将光标向上移动一格
将光标向下移动一格
将光标向左移动一格
将光标向右移动一格
Fn 依次按下最近被物理按下的两个 ↑,↓,←,→ 键
例子:若依次按下 ↓,Fn,←,Fn,则第一次按下 Fn 后等价于按下 ↓,第二次按下 Fn 后等价于依次按下 ↓,← 。

现在红包想要在按键次数尽可能少的情况下移动光标到第 nn 行第 mm 列。为了简化问题我们默认光标起始位置为第一行第一列。

输入格式

第一行一个正整数 TT,表示数据组数。

接下来 TT 行,每行两个正整数 n,mn,m,如题所述,表示光标的目标位置。

每组数据之间相互独立。

输出格式

对于每一个询问,输出一行一个整数 ansans,表示最小按键次数。

样例一

input

2
1 5
3 3

output

3
3

explanation

对于第一组输入,我们要将光标移至第一行第五列,依次按 →,→,Fn,即可。

对于第二组输入,依次按下 →,↓,Fn,即可。

正解:模拟

解题报告:

  一道UER的题目居然搞了我这么久,醉了。。。  

  显然n==1 或者 m==1特判一下水过去。考虑二者均不为1的情况,首先肯定尽可能地每次走一个往右下的路线,所以可以算出能往右下走多远,然后就转换成了n==1 或者 m==1的情况了。

 //It is made by jump~
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <ctime>
#include <vector>
#include <queue>
#include <map>
#include <set>
#ifdef WIN32
#define OT "%I64d"
#else
#define OT "%lld"
#endif
using namespace std;
typedef long long LL;
int ans; inline int getint()
{
int w=,q=;
char c=getchar();
while((c<'' || c>'') && c!='-') c=getchar();
if (c=='-') q=, c=getchar();
while (c>='' && c<='') w=w*+c-'', c=getchar();
return q ? -w : w;
}
/*
inline int solve(int x){
int ans;
if(x<=1) return 0;
else if(x<=2) ans=1;
else if(x<=3) ans=2;
else ans=2+(x-2)/2;
return ans;
}*/ inline void work(){
int T=getint(); int x,y;
while(T--) {
x=getint(); y=getint(); ans=;
if(x>y) swap(x,y); x--; y--;
if(x==) {
if(y<=) ans=y;//特判只能走一次
else ans=+(y+)/;
}
else {
ans=x;//共x次
y=y-x+;
if(y<=) ans+=y;
else ans+=(y+)/+;
}
/*
if(x==1 && y==1) ans=0;
else if(x==1) ans=solve(y);
else{
now=min(x-1,y-1);
ans=2; ans+=now-1; x-=now; y-=now;
ans+=solve(y);
}*/
printf("%d\n",ans);
}
} int main()
{
work();
return ;
}

UOJ136 开学前的作文的更多相关文章

  1. UOJ #138. 【UER #3】开学前的涂鸦

    Description 红包是一个有艺术细胞的男孩子. 红包由于NOI惨挂心情不好,暑假作业又多,于是他开始在作业本上涂鸦. 一开始,他在纸上画了一棵 n 个节点的树.但是他觉得这样的画太简单了,体现 ...

  2. 【线性基 集合hash】uoj#138. 【UER #3】开学前的涂鸦

    还需要加强分析题目特殊性质,设计对应特殊算法,少想多写大力dfs剪枝不要管MLETLE直接上的能力 红包是一个有艺术细胞的男孩子. 红包由于NOI惨挂心情不好,暑假作业又多,于是他开始在作业本上涂鸦. ...

  3. 从微软MVP到女儿开学--2017前半年小结

    2017年转眼就到了9月,原本在年初定的计划基本泡汤了. 看书啊减肥啊出教程啊,都被因为各种事物给缠身而没有完成. 1号带女儿去报名的时候,听到老师说"家长们请到这边来集合"的时候 ...

  4. 《清华梦的粉碎》by王垠

     清华梦的诞生 小时候,妈妈给我一个梦.她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲.长大后,你也要进入清华大学读书,为我们家争光.我不知道清华是什么样子,但是我 ...

  5. 清华梦的粉碎—写给清华大学的退学申请(转自王垠Blog)

    清华梦的诞生 小时候,妈妈给我一个梦.她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲.长大后,你也要进入清华大学读书,为我们家争光.我不知道清华是什么样子,但是我知 ...

  6. 转自王垠Blog——写给清华大学的退学申请

    清华梦的粉碎—写给清华大学的退学申请(转自王垠Blog)   清华梦的诞生 小时候,妈妈给我一个梦.她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲.长大后,你也要进 ...

  7. 我们应当怎样学习HTML和CSS

    目标读者:web前端小白.大神请绕路 学习一门新技术,应当找一本经典入门书,在两三天之内快速翻阅完毕,了解其概貌. 然后再制定一个学习路线图(这个路线图绝大多数情况下非书本目录的顺序),接着遵循学习路 ...

  8. 【CodeVS 3123】高精度练习之超大整数乘法 &【BZOJ 2197】FFT快速傅立叶

    第一次写法法塔,,,感到威力无穷啊 看了一上午算导就当我看懂了?PS:要是机房里能有个清净的看书环境就好了 FFT主要是用了巧妙的复数单位根,复数单位根在复平面上的对称性使得快速傅立叶变换的时间复杂度 ...

  9. python爬取网站数据

    开学前接了一个任务,内容是从网上爬取特定属性的数据.正好之前学了python,练练手. 编码问题 因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这个机会算是彻底搞清楚了. 问题要从文字的编码讲 ...

随机推荐

  1. Amzaon EC2虚拟化技术演进:从 Xen 到 Nitro

      今年2月,由光环新网运营的 AWS 中国(北京)区域和由西云数据运营的 AWS 中国 (宁夏)区域发布新的实例类型,新的实例类型包括 C5.C5d.R5.R5d.除了这四种之外,在AWS国外部分区 ...

  2. hive beeline 的server启动与连接

    启动hiveServer2 启动beeline之后 连接 !connect jdbc:hive2://localhost:10000/default 启动的时候连接 /beeline -u jdbc: ...

  3. Android备份和添加短信

    手机发送成功的,没有成功的,接受的短信都存放在手机自带的数据库中. 现在想要备份一下这个短信,需要访问这个数据库,然后查询所有的短信.就需要内容提供者(短信). 首先要找到内容提供者的uri.

  4. LeetCode78:Subsets

    Given a set of distinct integers, nums, return all possible subsets. Note: Elements in a subset must ...

  5. 【JMeter4.0学习(九)】之定时器

    目录: 固定定时器 高斯随机定时器 附 一.固定定时器 1.添加线程组 2.添加固定定时器 3.添加HTTP请求 4.添加结果树以及运行  二.高斯随机定时器 1.添加线程组 2.添加高斯随机定时器 ...

  6. Codeforces Round #392 (Div. 2) F. Geometrical Progression

    原题地址:http://codeforces.com/contest/758/problem/F F. Geometrical Progression time limit per test 4 se ...

  7. android 自定义 listView

    目录: 1.主布局 ListView <?xml version="1.0" encoding="utf-8"?><RelativeLayou ...

  8. 九度OJ刷题报告

    从8月初到现在,已经刷了400道题,越到后面题目越难,但仍会继续努力. 现将自己所AC的代码贴到博客上整理,同时供大家交流参考. 所有代码均为本人独立完成,全部采用C语言进行编写.

  9. 还在用 kill -9 停机?这才是最优雅的姿势(转)

    _ 最近瞥了一眼项目的重启脚本,发现运维一直在使用 kill-9<pid> 的方式重启 springboot embedded tomcat,其实大家几乎一致认为:kill-9<pi ...

  10. hdu2563——统计问题

    Problem Description 在一无限大的二维平面中,我们做例如以下如果: 1.  每次仅仅能移动一格. 2.  不能向后走(如果你的目的地是"向上",那么你能够向左走, ...