传奇思路快来看
2025-08-26 12:22:20
发布于:上海
2阅读
0回复
0点赞
代码如下:简单明了
#include<bits/stdc++.h>
using namespace std;
int m,n,k,l,d;
struct node{
int id,sum;
}z[2005];
struct node2{
int id,sum;
}h[2005];
int f1[2005],f2[2005];
bool cmp1(node x,node y){
    return x.sum>y.sum;
}
bool cmp2(node2 x,node2 y){
    return x.sum>y.sum;
}
int main(){
    cin>>m>>n>>k>>l>>d;
    for(int i=1;i<=m;i++){
        h[i].id=i;
    }
    for(int i=1;i<=n;i++){
        z[i].id=i;
    }
    for(int i=1;i<=d;i++){
        int x,y,xx,yy;
        cin>>x>>y>>xx>>yy;
        if(y==yy)h[min(x,xx)].sum++;
        else z[min(y,yy)].sum++;
    }
    sort(z+1,z+1+n,cmp1);
    sort(h+1,h+1+m,cmp2);
    for(int i=1;i<=l;i++){
        f1[i]=z[i].id;
    }
    for(int i=1;i<=k;i++){
        f2[i]=h[i].id;
    }
    sort(f1+1,f1+1+l);
    sort(f2+1,f2+1+k);
    for(int i=1;i<=k;i++){
        cout<<f2[i]<<" ";
    }
    cout<<endl;
    for(int i=1;i<=l;i++){
        cout<<f1[i]<<" ";
    }
    
    return 0;
}
这里空空如也






有帮助,赞一个