0
点赞
收藏
分享

微信扫一扫

NOIP 2008 普及组 排座椅

Soy丶sauce 2022-03-11 阅读 32
#include <bits/stdc++.h>
using namespace std;

const int N = 1009;
int m, n, k, l, d;
struct info {
	int cnt, id;
}r[N], c[N];

bool cmpcnt(info x, info y) { return x.cnt > y.cnt;}
bool cmpid(info x, info y) { return x.id < y.id;}

//a数组一共有ttl行(列),取其中的前num行(列) 
void solve(info a[], int ttl, int num) {
	for (int i = 1; i <= ttl; i ++) a[i].id = i;
	
	sort(a + 1, a + 1 + ttl, cmpcnt);
	sort(a + 1, a + 1 + num, cmpid);
	
	for (int i = 1; i <= num; i ++) cout << a[i].id << ' ';
	cout << endl;
}

int main() {
	cin >> m >> n >> k >> l >> d;
	
	while (d --) {
		int x, y, p, o;		//(x,y)与(p,o)会交头接耳 
		cin >> x >> y >> p >> o;
		if (x == p) c[min(y, o)].cnt ++;
		if (y == o) r[min(x, p)].cnt ++;
	}
	
	solve(r, m, k);
	solve(c, n, l);

	return 0;
}
举报

相关推荐

0 条评论