排座椅

思路



#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;
}


全部评论

相关推荐

门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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