0分求助!谢谢!
查看原帖
0分求助!谢谢!
775415
kissu楼主2023/8/16 11:20
#include<bits/stdc++.h>
using namespace std;
char gx[30000][30000];
int n,p,q;
bool wsh(int ci,int cj){
    if(gx[ci][cj]=='2')return true;
    if(gx[ci][cj]=='1')return false;
    for(int j=0;j<n;j++){
        if(gx[ci][j]=='1'&&gx[cj][j]=='2'||gx[ci][j]=='2'&&gx[cj][j]=='1'){
            return false;
        }
    }
    for(int i=0;i<n;i++){
        if(gx[cj][i]=='1'&&gx[ci][i]=='2'||gx[cj][i]=='2'&&gx[ci][i]=='1'){
            return false;
        }
    }
    return true;
}
int main()
{
    cin>>n>>p>>q;
    memset(gx,'0',sizeof(gx));
    for(int i=0;i<p;i++){
        int x,y;
        cin>>x>>y;
        gx[x][y]='2';
        gx[y][x]='2';
    }
    for(int i=0;i<q;i++){
        int x,y;
        cin>>x>>y;
        gx[x][y]='1';
        gx[y][x]='1';
    }
    int cnt=0;
    for(int i=0;i<n;i++){
        for(int j=0;j<=i;j++){
            if(wsh(i,j))cnt++;
        }
    }
    cout<<cnt;
    return 0;
}
2023/8/16 11:20
加载中...