10pts求助
查看原帖
10pts求助
381641
Thunderbolt_General楼主2022/10/4 16:48
#include<bits/stdc++.h>
using namespace std;
int n,k,l,a[1001][1001],d,x,y,z,w,m,q=1,p=1;
struct sb{
	int id,dx;
}b[1001];
struct bs{
	int wz,sz;
}c[1001];
bool cmp(sb a,sb b)
{
	return a.dx>b.dx;
}
bool cmp1(bs c,bs d)
{
	return c.sz>d.sz;
}
int main()
{
	//freopen("seat.in","r",stdin);
	//freopen("seat.out","w",stdout);
	scanf("%d%d%d%d%d",&n,&m,&k,&l,&d);
	for(int i=1;i<=d;i++)
	{
		scanf("%d%d%d%d",&x,&y,&z,&w);
		if(x==z)
		a[x][y]=a[z][w]=1;
		else 
		a[x][y]=a[z][w]=2;
	}
	for(int i=1;i<n;i++)
	b[i].id=i;
	for(int i=1;i<m;i++)
	c[i].wz=i;
	for(int i=1;i<=n;i++)
	{
		for(int j=2;j<=m;j++)
		if(a[i][j]==a[i][j-1]&&a[i][j]==1)
		c[j-1].sz++;
	}
	for(int j=1;j<=m;j++)
	{
		for(int i=2;i<=n;i++)
		if(a[i][j]==a[i-1][j]&&a[i][j]==2)
		b[i-1].dx++;
	}
	sort(b+1,b+n+1,cmp);
	sort(c+1,c+m+1,cmp1);
	while(k--)
	{
		printf("%d ",b[p].id);
		p++;
	}
	puts("");
	while(l--)
	{
		printf("%d ",c[q].wz);
		q++;
	}
}
2022/10/4 16:48
加载中...