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