【NOIP练习赛】开车
【NOIP练习赛】T2、开车
Description
老司机小 Q 要在一个十字路口指挥车队开车,这个十字路口可 以描述为一个 n*n 的矩阵,其中第 2 行到第 n-1 行都各有一道横向车 道,第 2 列到第 n-1 列都各有一条纵向车道。飙车开始前,小 Q 可以 在每条车道的两端(横向车道为从左到右第 1 格和第 n 格,纵向车道 为从上到下的第 1 格和第 n 格)安置一辆大卡车。安置结束后,小 Q 可以下令让所有大卡车同时向车道的另一端行驶,所有的卡车速度都 相同。小 Q 要合理安排这些卡车,使得它们在行驶过程中不会相撞; 另外一些格子上有小 C 放置的巨石,这些格子不能通过卡车。小 Q 希望安置的卡车最多,请你求出最多的卡车数。
Input
第一行两个非负整数 n 和 m,分别表示十字路口大小和巨石数 量。接下来 m 行,每行两个正整数 xi,yi,表示在第 xi 行第 yi 列有一 个巨石。
对于 20%的数据,n<=5;
对于 40%的数据,n<=10;
对于 70%的数据,n<=1000;
对于 100%的数据,3<=n<=200000,m<=200000。
Output
输出一个整数,表示答案。
Sample Input
4 3
3 1
3 2
3 3
Sample Output
1
Solution
这本来是道水题的...可是我居然想太多了,唉,菜得不行啊...
首先,我们来分析一下题目...能限制某行某列的车的情况,只有路上有一块石头,或者说当一辆车开到某一时刻时,另一辆车也刚好和它亲密接触
可以用一张图来解释
当这8个位置中有一个位置放了一辆车时,可能互相影响的位置只有图中1,2,3,4,5,6,7.8这8个相对位置
对于每一对这样的8个点,都可以取到如1,5,8,4这样的4个点使得这8个点所在的行列都被取到
那么我们推广一下,其实每行每列只要没有石头,那么都可以放一辆卡车
除了一种特殊情况,就是当n为奇数时,当n/2+1行和n/2+1列都没有石子时,这行这列只能放一辆车,这只须特判一下即可(不懂可以对上面那图yy一下)
讲完了,继续难受去,老司机翻车
#include<cstdio>
int count,n,m;
bool h[],l[];
int main(){
int xi,yi;
scanf("%d%d",&n,&m);
for (int i=;i<=m;i++) {
scanf("%d%d",&xi,&yi);
if (xi!=&&xi!=n) h[xi]=;
if (yi!=&&yi!=n) l[yi]=;
}
for (int i=;i<=n-;i++) if (!h[i]) count++;
for (int i=;i<=n-;i++) if (!l[i]) count++;
if (n%==&&!h[n/+]&&!l[n/+]) count--;
printf("%d",count);
}
【NOIP练习赛】开车的更多相关文章
- 【NOIP练习赛】学习
[NOIP练习赛]T3.学习 Description 巨弱小 D 准备学习,有 n 份学习资料给他看,每份学习资料的 内容可以用一个正整数 ai 表示.小 D 如果在一天内学习了多份资料, 他只能记住 ...
- 【NOIP 2012 开车旅行】***
题目描述 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的 城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为 Hi,城市 ...
- NOIP练习赛题目6
长途旅行 难度级别:A: 运行时间限制:3000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 JY 是一个爱旅游的探险家,也是一名强迫症患者.现在JY 想要在C ...
- noip 2012 开车旅行
/*考场上写的暴力 40分钟70分*/ #include<iostream> #include<cstdio> #include<cstring> #define ...
- NOIP练习赛题目5
小象涂色 难度级别:C: 运行时间限制:1000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 小象喜欢为箱子涂色.小象现在有c种颜色,编号为0~c-1:还有n个箱 ...
- NOIP练习赛题目4
肥得更高 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 自2009年以来,A.B站的历史就已经步入了农业变革的黎明期.在两站的 ...
- NOIP练习赛题目3
魔兽争霸 难度级别:C: 运行时间限制:1000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 小x正在销魂地玩魔兽他正控制着死亡骑士和n个食尸鬼(编号1-n)去打 ...
- NOIP练习赛题目2
小K的农场 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个 ...
- NOIP练习赛题目1
有些题目可能没做,如计算几何.恶心模拟. 高级打字机 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 早苗入手了最新的高级打字机 ...
随机推荐
- LINUX-文件系统分析
badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块 fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性 fsck.ext2 /dev/hda1 修 ...
- Python生成随机不重复姓名昵称
姓采用百家姓,名字从常用名字高频字选取两个汉字,再和当前时间戳组合,估计应该是不会重复了,代码如下: # -*- coding:utf-8 -*- import random import time ...
- 基于 Ubuntu 搭建 FTP 文件服务
搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 apt-get 安装 vsftpd: sudo apt-get install vsft ...
- [spoj1182][Sorted Bit Sequence] (数位dp)
Description Let's consider the 32 bit representation of all integers i from m up to n inclusive (m ≤ ...
- AD7606
在只给芯片的RANGE和PAR_SER引脚上电(不给芯片加电)的时候,芯片严重发热. 改回给芯片加电,发热消失,芯片正常工作,芯片没有损坏. 版权声明:本文为博主原创文章,未经博主允许不得转载.
- 基于XML文档的声明式事务配置
<!-- 配置事务切面 --> <aop:config> <aop:pointcut expression="execution(* com.atguigu.t ...
- HUST 1214 Cubic-free numbers II
Cubic-free numbers II Time Limit: 10000ms Memory Limit: 131072KB This problem will be judged on HUST ...
- HDU 3784 继续xxx定律 & HDU 2578 Dating with girls(1)
HDU 3784 继续xxx定律 HDU 2578 Dating with girls(1) 做3748之前要先做xxx定律 对于一个数n,如果是偶数,就把n砍掉一半:如果是奇数,把n变成 3*n+ ...
- 九度oj 题目1045:百鸡问题
题目1045:百鸡问题 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:10418 解决:4559 题目描述: 用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一 ...
- Android StatusBarUtil:设置Android系统下方虚拟键键盘透明度
Android StatusBarUtil:设置Android系统下方虚拟键键盘透明度 Android StatusBarUtil是github上的一个开源项目,主页:https://githu ...