Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
52445 | AK2022071320 | 子网 | C++ | 解答错误 | 20 | 684 MS | 253520 KB | 1089 | 2022-07-19 12:12:29 |
#include <bits/stdc++.h> using namespace std; //int d[8100]; bool a[8100][8100]; int n,m; int k; int ad; int ansl=0; int ab[8100][8100]; struct abc { int num; int d; int flag=0,aa; } dd[8100]; bool cmp(abc a,abc b) { if (a.d==b.d) { return a.num < b.num; } return a.d<b.d; } int main() { cin>>n>>m; //int k; for (int i=1; i<=m; i++) { cin>>k; for (int j=1; j<=k; j++) { cin>>ad; dd[ad].d++; ab[i][j]=ad; dd[ad].num=ad; for (int add=1; add<j; add++) { ab[ad][ab[i][add]]=1;//yyy ab[ab[i][add]][ad]=1; // // //cout<<ad<<" "<<ab[i][add]<<endl;; }//= } }//|| sort(dd+1,dd+n+1,cmp); for (int i=1; i<=n; i++) { for (int j=i+1; j<=n; j++) { if ( ab[dd[i].num][dd[j].num] || ab[dd[j].num][dd[i].num] ) { if (!dd[j].flag && !dd[i].flag) { dd[j].flag=1; dd[i].flag=1; ansl++; } } } } //for (itn) cout<<ansl; return 0; }