求助
查看原帖
求助
492450
zhaoshuang楼主2022/8/17 18:42

rt,代码写完后自己编译过了样例,然而爆零了。。。下载数据后自己编译是对的,但测试点没过,代码如下

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int m,n,k,l,d;
	cin>>m>>n>>k>>l>>d;
	int a[d][4],b[d][4],num[m],num1[n],h[m],li[n];
	memset(h,0,sizeof(h));
	memset(li,0,sizeof(li));
	for(int i=1;i<=m;i++)
	num[i]=i;
	for(int i=1;i<=n;i++)
	num1[i]=i;
	for(int i=1;i<=d;i++)
	{
	cin>>a[i][1]>>a[i][2]>>b[i][1]>>b[i][2];
		if(a[i][1]<b[i][1])
	{
		h[a[i][1]]=h[a[i][1]]+1;	
		continue;
	}
	
		if(a[i][1]>b[i][1])
	{
		h[b[i][1]]=h[b[i][1]]+1;	
		continue;
	}
	
		if(a[i][2]<b[i][2])
	{
		li[a[i][2]]=li[a[i][2]]+1;	
		continue;
	}
	
		if(a[i][2]>b[i][2])
	{
		li[b[i][2]]=li[b[i][2]]+1;	
		continue;
	}
	}	
	/*for(int i=1;i<=m;i++)
	cout<<h[i]<<" ";
	cout<<endl;
	for(int i=1;i<=n;i++)
	cout<<li[i]<<" ";*/
	//sort(h+1,h+1+m);
	//sort(li+1,li+1+n);
	for(int i=1;i<=m;i++)
	{
		for(int j=1;j<=i;j++)
		{
			if(h[j]>h[i])
			{swap(h[j],h[i]);
			swap(num[j],num[i]);
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=i;j++)
		{
			if(li[j]>li[i])
			{swap(li[j],li[i]);
			swap(num1[j],num1[i]);
			}
		}
	}
	for(int i=m;i>=1;i--)
	{
		if(k!=0)
		{
			cout<<num[i];
			if(k!=1)cout<<" ";
		}
		else
		break;
		k--;
	}
	cout<<endl;
	for(int i=n;i>=1;i--)
	{
		if(l!=0)
		{
			cout<<num1[i];
			if(l!=1)cout<<" ";
		}
		else
		break;
		l--;
	}
	return 0;
}
2022/8/17 18:42
加载中...