【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练习赛】开车的更多相关文章

  1. 【NOIP练习赛】学习

    [NOIP练习赛]T3.学习 Description 巨弱小 D 准备学习,有 n 份学习资料给他看,每份学习资料的 内容可以用一个正整数 ai 表示.小 D 如果在一天内学习了多份资料, 他只能记住 ...

  2. 【NOIP 2012 开车旅行】***

    题目描述 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的 城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为 Hi,城市 ...

  3. NOIP练习赛题目6

    长途旅行 难度级别:A: 运行时间限制:3000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 JY 是一个爱旅游的探险家,也是一名强迫症患者.现在JY 想要在C ...

  4. noip 2012 开车旅行

    /*考场上写的暴力 40分钟70分*/ #include<iostream> #include<cstdio> #include<cstring> #define ...

  5. NOIP练习赛题目5

    小象涂色 难度级别:C: 运行时间限制:1000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 小象喜欢为箱子涂色.小象现在有c种颜色,编号为0~c-1:还有n个箱 ...

  6. NOIP练习赛题目4

    肥得更高 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 自2009年以来,A.B站的历史就已经步入了农业变革的黎明期.在两站的 ...

  7. NOIP练习赛题目3

    魔兽争霸 难度级别:C: 运行时间限制:1000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 小x正在销魂地玩魔兽他正控制着死亡骑士和n个食尸鬼(编号1-n)去打 ...

  8. NOIP练习赛题目2

    小K的农场 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个 ...

  9. NOIP练习赛题目1

    有些题目可能没做,如计算几何.恶心模拟. 高级打字机 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 早苗入手了最新的高级打字机 ...

随机推荐

  1. Java核心技术 卷一 复习笔记(乙

    1.字符串从概念上讲,Java字符串就是Unicode字符序列.Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类,叫String. 每个用双引号括起来的字符串都是 String ...

  2. HTML-js 压缩上传的图片方法(默认上传的是file文件)

    //压缩图片方法 function compressImg(file,callback){ var src; var fileSize = parseFloat(parseInt(file['size ...

  3. 洛谷 1091 合唱队形(NOIp2004提高组)

    [题解] 分别做一遍最长上升序列和最长下降序列,再枚举峰的位置计算答案即可. #include<cstdio> #include<algorithm> #include< ...

  4. 对百词斩&可可英语的测试

    第六周小组作业 基本任务:功能测试和测试管理 温馨提示:本篇博客中,看不清的图片,可以按住Ctrl同时滚动鼠标滚轮查看:也可以点击图片下方的链接,在新选项卡打开后,点击小加号查看. (1)计划说明 本 ...

  5. 【BZOJ4514】数字配对(费用流)

    题意: 有 n 种数字,第 i 种数字是 ai.有 bi 个,权值是 ci. 若两个数字 ai.aj 满足,ai 是 aj 的倍数,且 ai/aj 是一个质数, 那么这两个数字可以配对,并获得 ci× ...

  6. Ubuntu 16.04安装设备管理器Hardinfo和lshw设备信息命令

    安装: sudo apt-get install hardinfo 启动: 实际上这些信息都可以通过lshw进行查看,参考:https://linux.die.net/man/1/lshw

  7. Ubuntu查看系统版本的方法

    1. less /etc/issue 2. less /proc/version 3. uname -a 4. lsb_release -a

  8. LVS 源代码分析

    http://blog.chinaunix.net/uid/11207493.html http://zh.linuxvirtualserver.org/blog/3309

  9. ci get_instance()

    你随便下个CI框架的源码都会看到很多的get_instance() 函数,这个函数是用来获取CI 的全局超级对象,CI 是单例模式的框架,所有全局有一个超级对象.因为只有一个实例,所以无论这个函数使用 ...

  10. [PsTools]psexec.exe使用范例-运行远程电脑程序(exe、bat等)

    前置条件 先下载psexec.exe.放置到C盘根文件夹 下载地址:http://download.csdn.net/detail/whylaughing/8885893 命令范例:(注意空格) C: ...