问题标题: 洛谷:P1056 NOIP 2008 PJ T2 排座椅 我 爪 巴 了

0
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也行啊(


0
0
0
我要回答