sudama_bera

Untitled

Aug 1st, 2026
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.77 KB | Source Code | 0 0
  1. void solve(){
  2.  int n,m;cin>>n>>m;
  3.  vector<int>ct(n+1);
  4.  map<pair<int,int>,int>mp;
  5.  vector<vector<int>>f(m+1);
  6.  set<pair<int,int>>v;
  7.  for(int i=0;i<m;i++){
  8.     int a,b;cin>>a>>b;
  9.     v.insert({a,b});
  10.     ct[a]++;ct[b]++;mp[{a,b}]++;
  11.  }
  12.  for(int i=1;i<=n;i++){
  13.     f[ct[i]].push_back(i);
  14.  }
  15.  int ans=0;
  16.  for(auto&[a,b]:v){
  17.    if((ct[a]+ct[b]-(mp.count({a,b})?mp[{a,b}]:0))==m){
  18.     ans++;
  19.     //cout<<a<<" "<<b<<endl;
  20.    }
  21.  }
  22.  for(int i=1;i<=n;i++){
  23.     int cta=ct[i];
  24.     int need=m-cta;
  25.     vector<int>temp=f[need];
  26.     if(temp.size()){
  27.         for(auto&j:temp){
  28.            // int a=min(i,j),b=max(i,j);
  29.             if(i<j&&(!mp.count({i,j}))){
  30.                // cout<<i<<" "<<j<<endl;
  31.                 ans++;
  32.             }
  33.         }
  34.     }
  35.  }
  36.  cout<<ans;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment