【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. Ajax_数据格式_XML

    [XML] 优点: --XML是一种通用的数据格式. --不必把数据强加到已经定义好的格式中,而是要为数据自定义合适的标记. --利用DOM可以完全掌控文档. 缺点: --如果文档来自于服务器,就必须 ...

  2. Nginx学习总结(3)——Nginx配置及应用场景之高级配置

    一.Nginx反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器:并将从服务器上得到的结果返回给Internet ...

  3. hdu 4670 树的分治-求点对的个数

    /* 树的分治 因为树的点权值可达到10^15,注意手动扩栈,还有int64 题意:给你一棵树,给你一些素数,给你每个点一个权值且每个权值均可由这些素数组成.现在定义任意任意两点的价值为他们路径上的权 ...

  4. zoj 1008 暴力枚举求解dfs+优化

    /* 现将相同的合并计数. 再枚举判断是否符合当cou==n*n是符合就退出 */ #include<stdio.h> #include<string.h> #define N ...

  5. HDU5266 LCA 树链剖分LCA 线段树

    HDU5266 LCA Description 给一棵 n 个点的树,Q 个询问 [L,R] : 求点 L , 点 L+1 , 点 L+2 -- 点 R 的 LCA. Input 多组数据. The ...

  6. php oop-1

    <?php //类的定义以 class 关键字开始 后面跟 类的名称 通常第一个字母大写 以 大括号开始 和结束 //类的属性和方法 前面都要加关键字 例如public class NbaPla ...

  7. [Vue @Component] Simplify Vue Components with vue-class-component

    While traditional Vue components require a data function which returns an object and a method object ...

  8. Windows 如何在右键中添加“在此处打开CMD窗口”选项

    将以下代码保存为XXX.reg,然后双击导入注册表 Windows Registry Editor Version 5.00   [HKEY_CLASSES_ROOT\Directory\shell\ ...

  9. Caffe——清晰高效的深度学习(Deep Learning)框架

    Caffe(http://caffe.berkeleyvision.org/)是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清(http://daggerfs.com/ ...

  10. BAT 前端开发面经 —— 吐血总结 前端相关片段整理——持续更新 前端基础精简总结 Web Storage You don't know js

    BAT 前端开发面经 —— 吐血总结   目录 1. Tencent 2. 阿里 3. 百度 更好阅读,请移步这里 聊之前 最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘, ...