UOJ136 开学前的作文
描述
红包是一个萌萌的男孩子。
红包由于 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 开学前的作文的更多相关文章
- UOJ #138. 【UER #3】开学前的涂鸦
Description 红包是一个有艺术细胞的男孩子. 红包由于NOI惨挂心情不好,暑假作业又多,于是他开始在作业本上涂鸦. 一开始,他在纸上画了一棵 n 个节点的树.但是他觉得这样的画太简单了,体现 ...
- 【线性基 集合hash】uoj#138. 【UER #3】开学前的涂鸦
还需要加强分析题目特殊性质,设计对应特殊算法,少想多写大力dfs剪枝不要管MLETLE直接上的能力 红包是一个有艺术细胞的男孩子. 红包由于NOI惨挂心情不好,暑假作业又多,于是他开始在作业本上涂鸦. ...
- 从微软MVP到女儿开学--2017前半年小结
2017年转眼就到了9月,原本在年初定的计划基本泡汤了. 看书啊减肥啊出教程啊,都被因为各种事物给缠身而没有完成. 1号带女儿去报名的时候,听到老师说"家长们请到这边来集合"的时候 ...
- 《清华梦的粉碎》by王垠
清华梦的诞生 小时候,妈妈给我一个梦.她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲.长大后,你也要进入清华大学读书,为我们家争光.我不知道清华是什么样子,但是我 ...
- 清华梦的粉碎—写给清华大学的退学申请(转自王垠Blog)
清华梦的诞生 小时候,妈妈给我一个梦.她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲.长大后,你也要进入清华大学读书,为我们家争光.我不知道清华是什么样子,但是我知 ...
- 转自王垠Blog——写给清华大学的退学申请
清华梦的粉碎—写给清华大学的退学申请(转自王垠Blog) 清华梦的诞生 小时候,妈妈给我一个梦.她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲.长大后,你也要进 ...
- 我们应当怎样学习HTML和CSS
目标读者:web前端小白.大神请绕路 学习一门新技术,应当找一本经典入门书,在两三天之内快速翻阅完毕,了解其概貌. 然后再制定一个学习路线图(这个路线图绝大多数情况下非书本目录的顺序),接着遵循学习路 ...
- 【CodeVS 3123】高精度练习之超大整数乘法 &【BZOJ 2197】FFT快速傅立叶
第一次写法法塔,,,感到威力无穷啊 看了一上午算导就当我看懂了?PS:要是机房里能有个清净的看书环境就好了 FFT主要是用了巧妙的复数单位根,复数单位根在复平面上的对称性使得快速傅立叶变换的时间复杂度 ...
- python爬取网站数据
开学前接了一个任务,内容是从网上爬取特定属性的数据.正好之前学了python,练练手. 编码问题 因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这个机会算是彻底搞清楚了. 问题要从文字的编码讲 ...
随机推荐
- Ubuntu配置apache2.4配置虚拟主机遇到的问题
update: 偶然看到了 apache的更新说明,直接贴个地址过来吧. http://httpd.apache.org/docs/2.4/upgrading.html 最近想把web开发目录从/va ...
- CentOS7 安装 Node.js
1.首先安装node.js 的版本管理工具 NVM,执行以下命令: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/ ...
- Java中synchronized用在静态方法和非静态方法上面的区别
synchronized 修饰在 static方法和非static方法的区别 在Java中,synchronized是用来表示同步的,我们可以synchronized来修饰一个方法.也可以sync ...
- bat命令遍历文件和bat参数说明
**************************************************************************************************** ...
- hdu3068 最长回文(manacher 算法)
题意: 给定字符串.求字符串中的最长回文序列 解题思路: manacher 算法 时间复杂度:O(N) 代码: #include <cstdio> #include <cstring ...
- 公告板shader
Shader "Custom/LightPoint" { Properties { _MainTex ("Main Tex", 2D) = "whit ...
- Coursera machine learning 第二周 编程作业 Linear Regression
必做: [*] warmUpExercise.m - Simple example function in Octave/MATLAB[*] plotData.m - Function to disp ...
- MapReduce Input Split(输入分/切片)具体解释
看了非常多博客.感觉没有一个说的非常清楚,所以我来整理一下. 先看一下这个图 输入分片(Input Split):在进行map计算之前,mapreduce会依据输入文件计算输入分片(input spl ...
- One Person Game(概率+数学)
There is a very simple and interesting one-person game. You have 3 dice, namelyDie1, Die2 and Die3. ...
- F - 数论
F - 数论 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description ...