0
已解决
黄子扬
初级天翼
初级天翼
过样例了,但完美WA,求DALAO指点
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int map[1005][1005];
int m,n,k,l,d;
int x[2005],y[2005],p[2005],q[2005];
int ph[2005],pz[2005];
struct street
{
int sum,num;
}h[1005],z[1005];
bool cmp(street a,street b)
{
return a.sum>b.sum;
}
bool comp(int a,int b)
{
return a<b;
}
int main()
{
scanf("%d%d%d%d%d",&m,&n,&k,&l,&d);
for(int i=1;i<=d;i++)
{
scanf("%d%d%d%d",&x[i],&y[i],&p[i],&q[i]);
map[x[i]][y[i]]=map[p[i]][q[i]]=i;
}
for(int i=1;i<=m;i++)
h[i].num=i;
for(int i=1;i<=n;i++)
z[i].num=i;
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
if(map[i][j]==map[i+1][j]) h[i].sum++;
else if(map[i][j]==map[i][j+1]) z[j].sum++;
sort(h+1,h+m+1,cmp);
sort(z+1,z+n+1,cmp);
for(int i=1;i<=k;i++)
ph[i]=h[i].num;
for(int i=1;i<=l;i++)
pz[i]=z[i].num;
sort(ph+1,ph+k+1,comp);
sort(pz+1,pz+l+1,comp);
for(int i=1;i<=k;i++)
printf("%d ",ph[i]);
printf("\n");
for(int i=1;i<=l;i++)
printf("%d ",pz[i]);
return 0;
}
为了DALAO更方便的阅读,再放张VScode-Polacode的截图话说Coding问答的代码文本显示啥时候能美化下啊,这种宋体真的很丑,JetBrains Mono就不错,Consolas也行啊(