【NOIP普及组】2016模拟考试(10.29)——排座椅
问题 B: 排座椅(seat.cpp)
时间限制: 1 Sec 内存限制: 64 MB
题目描述
输入
输出
样例输入
4 5 1 2 3 4 2 4 3 2 3 3 3 2 5 2 4
样例输出
2 2 4
提示
上图中用符号*、※、+ 标出了3对会交头接耳的学生的位置,图中3条粗线的位置表示通道,图示的通道划分方案是唯一的最佳方案。
#------------------------------------------------------------------------------#
这个题,看上去很像图论,事实上是贪心……
大体思路:
输入xi,yi,pi,qi,只要xi和pi相等,就表示两个学生在同一排,则L[yi和qi中小的一个]++
如果yi和qi相等,就表示两个学生在同一列,则K[xi和pi中小的一个]++,千万不要弄反了。
为什么要小的一个++呢?
仔细观察一下图(题目也有说)就知道了,输出的是ai与ai+1,如果存大的一个,通道就有问题了。
存的时候用结构体更方便,里面还需有一个a变量,存安放的位置,初始化a[i]均为i。
然后就是按K和L从大到小排序,注意还要再排一次a,因为题目说需从小到大输出!
然后直接输出即可。
代码:
#include<cstdio>
#include<algorithm>
using namespace std;
int m,n,k,l,d;
struct node
{int a,n;
}x[1002],y[1002];//结构体
bool _c(node x,node y)
{return x.n>y.n;//按n
}//sort从大到小
bool c_(node x,node y)
{return x.a<y.a;//按a
}//sort从小到大
int main()
{scanf("%d%d%d%d%d",&m,&n,&k,&l,&d);for(int i=1;i<=max(m,n);i++)x[i].a=y[i].a=i;//初始化for(int i=1;i<=d;i++){int _x,_y,_p,_q;scanf("%d%d%d%d",&_x,&_y,&_p,&_q);if(_y==_q) x[min(_x,_p)].n++;//在同一列if(_x==_p) y[min(_y,_q)].n++;//在同一行}sort(x+1,x+n+1,_c); sort(y+1,y+n+1,_c); sort(x+1,x+k+1,c_); sort(y+1,y+l+1,c_);//四次排序printf("%d",x[1].a);for(int i=2;i<=k;i++)printf(" %d",x[i].a);//输出printf("\n%d",y[1].a);for(int i=2;i<=l;i++)printf(" %d",y[i].a);//一定要处理空格!!!我因为没处理行末空格wrong了1次return 0;
}
转载于:https://www.cnblogs.com/LinqiongTaoist/p/7203756.html
【NOIP普及组】2016模拟考试(10.29)——排座椅相关推荐
- JZOJ(中山纪念中学) 2018.02.02【NOIP普及组】模拟赛D组
本次题目:2018.02.02[NOIP普及组]模拟赛D组 第一题 题目:第一题 公牛数字 题意: 求题目给出两个数字的乘积 分析: 这题明显只是考察学生的高精可我居然没做对,只要多练习几次,即可AC ...
- 纪中集训2020.01.13【NOIP普及组】模拟赛C组总结————My First Time Write Summary
纪中集训2020.01.13[NOIP普及组]模拟赛C组总结 题目编号 标题 0 [NOIP普及组模拟]取值( numbers.pas/cpp) 1 [NOIP普及组模拟]数对(pairs.pas/c ...
- 2020.04.08【NOIP普及组】模拟赛C组24 总结
2020.04.08 2020.04.08 2020.04.08[ N O I P NOIP NOIP普及组]模拟赛 C C C组 24 24 24 总结 概述: 这次比赛我 A K AK AK了,拿 ...
- 纪中集训2020.01.16【NOIP普及组】模拟赛C组总结+【0.Matrix】分析
纪中集训2020.01.16[NOIP普及组]模拟赛C组总结+[0.Matrix]分析 题目: 0.matrix 1.product 2.binary 3.value 巨佬估分:100+100+40+ ...
- 【NOIP普及组2016】魔法阵
@魔法阵@ @前言@ @题目描述@ @题目分析-暴力枚举O(m^4)@ @开始优化-桶思想优化O(n^3)@ @高端操作-学不来的数学分析O(n^2)@ @END@ @前言@ 听闻老前辈们道这道题好像 ...
- 2016.10.05【初中部 NOIP普及组 】模拟赛题解
这次比赛又翻车了....... T1 这道题一开始以为是一道大水题,格外简单:把分子乘起来,把分母也乘起来,然后约分.但看到数据后,发现这样根本不行:一千个数,最大不超过一千(就是999),最大的积就 ...
- 2019.01.29【NOIP普及组】模拟赛C组总结
总结: 这次比赛的得分是:30+100+100+100=330 第一题有点蒙,想到了一个突破点,但因为知识太少,不了解对数,只打了一个很水的表,第二题想了会,想到了一种解法,然后写了15分钟左右,第三 ...
- 2017.03.04【NOIP 普及组】模拟赛C组 T4:泽泽在埃及
**[2011.12.10普及模拟]泽泽在埃及 ** 题目描述 泽泽已52:0的比分输了球,被足球流氓打了一顿,扔进了窨井里-- 出来的时候,泽泽已经在埃及了. 滚滚的黄沙在周围飞舞,没有一样生物在这 ...
- JZOJ(中山纪中)2018.01.21【NOIP普及组】模拟赛D组(第二题)
1361. [2011.12.31普及模拟]抓捕嫌疑犯(suspect) (File IO): input:suspect.in output:suspect.out 时间限制: 1000 ms ...
- NOIP 普及组 2016 回文日期
传送门 https://www.cnblogs.com/violet-acmer/p/9859003.html 题解: 思路1: 相关变量解释: year1,month1,day1 : date1对应 ...
最新文章
- Android 热修复总结
- 允许自行设计赛道之后,参赛同学都想到了什么呢?
- 使用conan编译安装poco
- php-fpm 启动拥有者,php-fpm 的各种启动方式
- 师弟新作!Nature子刊 | 重大进展!何川团队首次系统地获得了19个组织的5hmC图谱
- 加工生产调度(信息学奥赛一本通-T1425)
- 又崩了?苹果发生大规模网络故障:多项服务受影响 目前已恢复
- java如何解析word大纲_java解析word文件
- 假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!
- Focal loss及其实现
- 大一java题库及答案_2016最新java考试题库及答案
- 适用于iOS的远程桌面软件
- ISDEV : error -6003的解决办法
- 电池的类型,你真的了解吗?
- DBSCAN聚类算法原理及图解
- 爱奇艺逗芽表情搜索分析与实践
- UnsupportedOperationException异常解决
- 2014-02-27 23:00 2014年最新GHOST_win7_64位旗舰版系统下载
- mac-使用屏幕共享功能
- 河南ISO14001环境管理体系认证流程是什么?