小C的英语——初级模拟
2017-05-16 22:02
169 查看
Tink:
1建立抽象模型,进行推演
2通过分类讨论可发现问题奇数总页数可通过转化为偶数总页数,奇数查询页数同样可以通过转化为偶数查询页数,进而判断问题的最优解
小C的英语
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
小C的英语很差,天天被小Y嘲笑,所以他下定决心,好好学英语,但是小C的基础很差,就去向小H去请教,小H说英语主要靠自学,就给了小C一本神奇的字典,这本字典有 n 页,每当小C有不会的单词,这本字典会自动告诉你这个单词在第几页,小C只要去翻到这一页就可以了,但是小C有强迫症,他只想一页一页的翻,所以他只从字典的第一页开始翻或者是字典的最后一页开始翻。
这本字典翻开时显示左右两页,偶数页在左边,奇数页在右边。那么小C至少翻几次才可以找到他想要的单词?
Input
输入数据有多组(数据组数不超过 1000),到 EOF 结束。
每一行有两个数字 n, p (1 <= p <= n <= 10000),分别代表这本字典有 n 页,小C要找的单词在第 p 页。
Output
输出一个数字 k,代表小C至少翻几次才可以找到他想找的单词。
Example Input
6 2
5 4
Example Output
1
0
Hint
对于第一组数据,字典共 6 页,如果从第 1 页开始翻(开始时字典打开在第 1 页),翻第一次,到第 2、3 页,找到了要找的单词;如果从最后一页(第 6 页)开始翻(开始时字典打开在第 6 页),翻第一次,到 4、5 页,再翻第二次,到 2、3 页,找到了要找的单词。
因此从第一页开始翻的次数小于从最后一页开始翻的次数,输出 1。
Author
「山东理工大学第一届ACM知识挑战赛(机试)」C~K
以下为Accepted代码
1建立抽象模型,进行推演
2通过分类讨论可发现问题奇数总页数可通过转化为偶数总页数,奇数查询页数同样可以通过转化为偶数查询页数,进而判断问题的最优解
小C的英语
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
小C的英语很差,天天被小Y嘲笑,所以他下定决心,好好学英语,但是小C的基础很差,就去向小H去请教,小H说英语主要靠自学,就给了小C一本神奇的字典,这本字典有 n 页,每当小C有不会的单词,这本字典会自动告诉你这个单词在第几页,小C只要去翻到这一页就可以了,但是小C有强迫症,他只想一页一页的翻,所以他只从字典的第一页开始翻或者是字典的最后一页开始翻。
这本字典翻开时显示左右两页,偶数页在左边,奇数页在右边。那么小C至少翻几次才可以找到他想要的单词?
Input
输入数据有多组(数据组数不超过 1000),到 EOF 结束。
每一行有两个数字 n, p (1 <= p <= n <= 10000),分别代表这本字典有 n 页,小C要找的单词在第 p 页。
Output
输出一个数字 k,代表小C至少翻几次才可以找到他想找的单词。
Example Input
6 2
5 4
Example Output
1
0
Hint
对于第一组数据,字典共 6 页,如果从第 1 页开始翻(开始时字典打开在第 1 页),翻第一次,到第 2、3 页,找到了要找的单词;如果从最后一页(第 6 页)开始翻(开始时字典打开在第 6 页),翻第一次,到 4、5 页,再翻第二次,到 2、3 页,找到了要找的单词。
因此从第一页开始翻的次数小于从最后一页开始翻的次数,输出 1。
Author
「山东理工大学第一届ACM知识挑战赛(机试)」C~K
以下为Accepted代码
#include <bits/stdc++.h> using namespace std; int main() { int n, p, a, b; while(scanf("%d %d", &n, &p) != EOF){ if(n%2 == 0){ if(p%2 == 0){ a = p/2; b = (n-p)/2; } else if(p%2 != 0){ a = (p-1)/2; b = (n-(p-1))/2; } } else if(n%2 != 0){ if(p%2 == 0){ a = p/2; b = (n-1-p)/2; } else if(p%2 != 0){ a = (p-1)/2; b = (n-1-(p-1))/2; } } printf("%d\n", min(a, b)); } return 0; } /*************************************************** User name: Result: Accepted Take time: 0ms Take Memory: 196KB Submit time: 2017-05-16 21:51:31 ****************************************************/
相关文章推荐
- 初级阶段英语学习
- 英语笔记-英语初级口语
- 环境对初级英语口语来说是至关重要的
- 华为OJ 初级:学英语
- 初级->基本算法->模拟 poj 1573 Robot Motion
- 2015年ACM北京网络赛 B题 (模拟+枚举题意请原谅我英语不好。。。)
- 初级阶段英语学习(写读后感)
- 【英语学习笔记】2017-6-19,英语在用初级英语语法,unit 108
- 恶魔的奶爸英语 初级教程
- IT初级英语词汇·硬件篇
- IT初级英语词汇·软件篇
- 才发现,英语考眼研真题与很多模拟或其他练习题确实很不一样!
- 一幅图表示初级英语语法
- IT初级英语词汇·基础篇
- poj 1451 T9 【字典树 + DFS 模拟智能英语输入法】
- P进制转换为Q进制 进制的转换 C++算法 简单模拟 算法入门初级
- 外企英语电话面试应急模拟
- 模拟ArrayList(初级)
- 项目视频讲解_Java私塾-Java初级项目(模拟银行系统)视频教程配套的PPT和演示代码
- 初级->基本算法->模拟 poj 2632 Crashing Robots