刷题训练——懒人选座位
来源:互联网 发布:papi酱上海话 知乎 编辑:程序博客网 时间:2024/04/29 00:44
9503 懒人选座位
时间限制:500MS 内存限制:65535K
Description
在ACM混了一年之后,我终于有机会在新生赛出题了。然后我瞬间出了一道题。 (好吧,我承认,我只是翻译了原题而已╮(╯▽╰)╭)
发过去给lyd,然后马上被鄙视了:“这么简单的题目?” 哎,没办法啊,过去一年我就是切水题过来的~~
其实我个人认为这题还是挺有趣的……水水更健康吗……大家一起来切水题吧!
相信大家都有这样的体验吧:课室里每行座位间的间距都很小,上课的时候,早到的同学都要侧身或者站起来,让其他同学坐进去里面。
╮(╯▽╰)╭ 我是一个很懒的人,假如我是第一个到场,我希望选了座位之后,侧身让位的次数能够尽量地少…… 现在有一排n个空座位,从左到右分别编号1 ~ n。 然后其他同学都会选定一个座位然后走进去,并且进去的方位(左边or右边)服从以下的规定: 1.选择途经人数最少的方向进入 ①②我③④⑤⑥比如第二个到的同学选定了3号座位,他会选择从右边进入,我不用让位。 2.当两端途经的人数一样时,选择靠近自己座位的那边进入。 ①②我③④⑤有人⑥ 比如第三个到的同学选择坐3号座位,他会从左边进入,然后我要让位。 3.都一样时,随机选进入方位。 现在的问题是,当我选择坐第k个座位后,我想知道在最坏的情况下,要侧身让位多少次?
输入格式
有若干组数据,以EOF判定结束。 每组数据第一行有两个整形n(1~ 30)和q(1~30)。分别表示座位数和查询次数。接下来一行有q个整型。k1,k2……kq,分别表示我选择坐第k个座位。数据以空格分隔。
输出格式
每组数据一行,对于每次查询,输出一个结果,以空格分隔。
输入样例
4 41 2 3 45 51 2 3 4 5
输出样例
1 0 0 12 1 0 1 2
提示
四个座位的时候,我选定座位①后,若第二个人选了③or④,当第三个人选②,我就要让位一次,这个是最坏的情况。 EOF结束即是数据读入以文件结束符结束。即输入输出类似如下(当然变量名啥的不必一样,VC下按ctrl+z 然后 回车可结束程序): while(scanf("%d%d",&n,&q)!=EOF) { for(i=1;i<=q;i++) scanf("%d",&act[i]); …… …… printf("%d\n",answer); }
来源
sleepiforest偷懒也要有智商呜呜呜(逃~)
#include <iostream>#include <cstdio>#include <cmath>#include <cstring>using namespace std;//#define localint main(){#ifdef local freopen("input.txt","r",stdin);#endif int n,q,act[40]; while(scanf("%d%d",&n,&q)!=EOF){ memset(act,0,sizeof(act)); if(n>3){ for(int i=1;i<=(n+1)/2;++i){ int sit[40]; act[i]=n-i-2; } for(int i=0;i<=(n+1)/2;++i) act[n-i]=act[i+1]; } else if(n==3){ act[1]=1; act[3]=1; } for(int i=0,j;i<q;++i){ scanf("%d",&j); if(i)printf(" "); printf("%d",act[j]); } printf("\n"); } return 0;}
阅读全文
0 0
- 刷题训练——懒人选座位
- PAT训练(乙级)—— 1041. 考试座位号(15)
- 15OJ——换座位
- PAT乙级真题及训练集(10)--1041. 考试座位号(15)
- 懒人必备———ButterKnife框架
- 田洪川——懒人的自白
- HDU 4523 湫秋系列故事——安排座位【组合dp】【好题】【思维题】
- 座位
- “懒人”
- 懒人
- 懒人
- 懒人
- 懒人
- 湫秋系列故事——安排座位
- 湫秋系列故事——安排座位
- 寒假之作—HDU—交换座位问题
- L2-010. 排座位——>并查集
- OC——NSPoint 求两学生座位距离
- bzoj 1052: [HAOI2007]覆盖问题(二分+贪心)
- MAMP配置swoole
- 人事面试
- quartz定时设置代码
- hbase学习教程(一):hbase的概述和hbase架构及基本组件
- 刷题训练——懒人选座位
- 2017.09.27工作日记
- 233 Matrix HDU
- 670. Maximum Swap(Java)
- 几种常见的网页布局形式
- Java 课堂笔记 2
- C++重定义
- Java后台框架篇--Struts2.0核心与工作原理
- Happy 2006 POJ