排座椅

思路



#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
const int maxn = 1e3 + 10;
struct node{
	int id;
	int cnt;
	bool operator < (const node &a)const{
		if(cnt == a.cnt) return id < a.id;
		return cnt > a.cnt;
	}
};
int n, m, k, l, d;
int cntr[maxn], cntc[maxn];
vector<node> vr, vc;
void init(){
	for(int i = 1; i < n; i++){
		vr.push_back({i, cntr[i]});
	}
	for(int i = 1; i < m; i++){
		vc.push_back({i, cntc[i]});
	}
}
int main(){
	scanf("%d%d%d%d%d", &n, &m, &k, &l, &d);
	int x1, y1, x2, y2;
	for(int i = 1; i <= d; i++){
		scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
		if(x1 == x2){
			cntc[min(y1, y2)]++;
		}
		else{
			cntr[min(x1, x2)]++;
		}
	}
	init();
	sort(vr.begin(), vr.end()); sort(vc.begin(), vc.end());
	vector<int> ans;
	for(int i = 0; i < k; i++){
		ans.push_back(vr[i].id);
	}
	sort(ans.begin(), ans.end());
	for(auto &itm : ans){
		cout << itm << " ";
	}
	cout << endl;
	ans.clear();
	for(int i = 0; i < l; i++){
		ans.push_back(vc[i].id);
	}
	sort(ans.begin(), ans.end());
	for(auto &itm : ans){
		cout << itm << " ";
	}
	cout << endl;
	return 0;
}


全部评论

相关推荐

饥饿的长颈鹿就要上岸...:简历五项结构 简历只放五项内容,顺序和格式如下: 一、个人信息 只写名字、电话、邮箱 不写性别、年龄、籍贯、政治面貌、微信等额外信息 二、教育经历 格式:学校名称 | 学历 | 专业 | 就读时间 从左到右排列,一行写完 如果专业和岗位对口,写1-2行主修课程;不对口就不写 学历如果不占优势,可以把教育经历放到简历靠后的位置 三、实习/项目经历 如果没有实习经历,全部写项目经历 每条经历格式:项目名 + 岗位名 + 任职时间段 下面写三到五条工作内容 每条工作内容开头必须用四个字概括,加粗,后面跟一条完整描述 所有描述必须用STAR法则来写(情境-任务-行动-结果) 每一条都要有数据支撑和具体成果 四、个人优势 可以写获得的奖项、证书 如果奖项不够,就写你熟练掌握的技能 每条也要有具体数据或成果支撑,不能空泛堆砌 五、整体要求 一页纸,不要超过一页 个人信息只写名字加电话邮箱 贝贝试一下这个方式写简历,我虽然没收到offer,至少收到了好几轮面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务