P1056排坐椅
这是2008普及组真题,是一个提高—的模拟。
仔细读完题便有了思路:累放在i行能隔开wi个,比较排序wi,输出即可。所以在这里遇到了结构体排序的问题与手写cmp的问题。对于两个语法知识掌握得都不好,所以造成了死循环或者......(迄今仍然不知道错在了哪里),所以wa1,wa2,wa3..蓝瘦,希望洛谷的大佬可以帮帮我。
1.熟练掌握struct &sort语法
2.尽量不开二维数组
3.要把问题转化到最简单的求解形式(比如x1==x2而非mp[x1+1]=mp[x1])
代码:
#include<iostream>
#include<algorithm>
using namespace std;
struct node
{
int num,sum;
}hang[],lie[];
bool cmp(node x,node y)
{
return x.sum>y.sum;
} bool cmp1(node x,node y)
{
return x.num<y.num;
}
int m,n;
int d,k,l,x1,x2,y1,y2;
int main()
{
cin>>m>>n>>k>>l>>d;
for(int i=;i<=d;i++)
{
cin>>x1>>y1>>x2>>y2;
if(x1==x2)
{
lie[min(y1,y2)].num=min(y1,y2);
lie[min(y1,y2)].sum++;
}
else
{
hang[min(x1,x2)].num=min(x1,x2);
hang[min(x1,x2)].sum++;
}
}
sort(lie+,lie+n+,cmp);
sort(hang+,hang+m+,cmp);
sort(lie+,lie+l+,cmp1);
sort(hang+,hang+k+,cmp1);
for(int i=;i<=k;i++) cout<<hang[i].num<<" ";
cout<<endl;
for(int i=;i<=l;i++) cout<<lie[i].num<<" ";
return ;
}
P1056排坐椅的更多相关文章
- 洛谷 P1056 排座椅
P1056 排座椅 题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上 ...
- 洛谷 P1056 排座椅 题解
P1056 排座椅 题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的 \(D\ ...
- 洛谷P1056 排座椅
洛谷P1056 排座椅 洛谷传送门 题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有 ...
- 洛谷 P1056 排座椅 桶排序
桶排序大法好! 每次一看到这种范围小的题,本萌新就想用桶排. 因为题目中的m,n都小于1000,我们就可以定义两个1000的数组,表示每一行或每一列可以隔开几对讲话的童鞋. 然后再定义两个1000的数 ...
- 洛谷 P1056 排座椅【贪心/结构体排序】
题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳.同学 ...
- 洛谷——P1056 排座椅
https://www.luogu.org/problem/show?pid=1056#sub 题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主 ...
- 洛谷P1056——排座椅(模拟,贪心,排序)
https://www.luogu.org/problem/show?pid=1056 题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发 ...
- P1056 排座椅
非原创 #include<bits/stdc++.h>using namespace std;int t1[2009];int t2[2009]; int findmax(int *a){ ...
- luogu P1056 排座椅
题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳.同学 ...
随机推荐
- 【leetcode】1227. Airplane Seat Assignment Probability
题目如下: n passengers board an airplane with exactly n seats. The first passenger has lost the ticket a ...
- 基于STM32的CRC校验说明
///***************************************************************************** //下面是test.c里面的函数 // ...
- js能否上传文件夹
文件夹上传:从前端到后端 文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠.网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹. ...
- sh_09_打印多条分隔线
sh_09_打印多条分隔线 def print_line(char, times): """打印单行分隔线 :param char: 分隔字符 :param times: ...
- Python模块之-OS模块
一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.(一语中的) 二.常用方法 1.os.name 输出字符串指示正在使用的平台 ...
- pythonCSV模块
在爬虫过后会取得很多信息! 将信息存起来方法还很多中!今天提一下CSV模块 导入模块 import csv 这里先写个列表 rows = [['zhangsan',20],['lisi',22],[' ...
- LBS 基于位置的服务
LBS (Location Based Services)基于位置的服务 基于位置的服务,它是通过电信移动运营商的无线电通讯网络(如GSM网.CDMA网)或外部定位方式(如GPS)获取移动终端用户的位 ...
- 简单实现骨架屏 (Skeleton Screens)
近年,国内外各大网站都引入骨架屏(Skeleton Screens)技术来提高用户体验.相比于之前的Loading动画,骨架屏页面更容易让用户产生一种错觉,页面快加载完了.骨架屏实现原理很 ...
- 安装mariadb报错: Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.
卸载和删除都使用过了,没有起到效果,然后用了如下的方案,进行解决: CentOS 从 Yum 源安装配置 Mariadb 2017.03.01 WangYan 学习笔记 热度 7℃ 一.安装 Mar ...
- Long类源码浅析
1.Long类和Integer相类似,都是基本类型的包装类,类中的方法大部分都是类似的: 关于Integer类的浅析可以参看:Integer类源码浅析 2.这里主要介绍一下LongCache类,该缓存 ...