求助
  • 板块学术版
  • 楼主wang_zi_wei
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/8/10 16:28
  • 上次更新2023/11/3 04:41:23
查看原帖
求助
932778
wang_zi_wei楼主2023/8/10 16:28

题目 敲了半天啥也不会 代码

#include<bits/stdc++.h>
struct love{
    int q[4000];
};
love GQ[4000];
int main(){
    int n,k;scanf("%d%d",&n,&k);
    int sum[n+1],ab[k+1],a[k+1],b[k+1];
    std::memset(&sum,0,sizeof(sum));
    for(int i=1;i<=k;i++){scanf("%d%d",&a[i],&b[i]);ab[i]=i;} 
    for(int i=1;i<=k;i++)
        for(int l=1;l<=k;l++){
            GQ[ab[a[l]]].q[ab[b[l]]]=ab[b[l]];
            GQ[ab[b[l]]].q[ab[a[l]]]=ab[a[l]];
            std::swap(ab[a[l]],ab[b[l]]);
        }
    for(int i=1;i<=n;i++){
        for(int t=1;t<=k;t++){
            if(GQ[i].q[t]>0){
                sum[i]++;
            }
        }
        if(GQ[i].q[i]==0)sum[i]++;
        printf("%d\n",sum[i]);
    }
} 
2023/8/10 16:28
加载中...