Submission #734854

#TimeUsernameProblemLanguageResultExecution timeMemory
734854keisuke6Duathlon (APIO18_duathlon)C++14
5 / 100
1070 ms7276 KiB
#include <bits/stdc++.h> using namespace std; #define int long long bool sub3(vector<vector<int>> &G){ for(int i=0;i<G.size();i++)if(G[i].size() > 2) return false; return true; } struct Unionfind{ vector<int> par, siz; //初期化 Unionfind(int n) : par(n,-1) , siz(n,1) {} int root(int x) { if(par[x] == -1) return x; else return par[x] = root(par[x]); } bool issame(int x,int y) { return root(x) == root(y); } bool unite(int x, int y){ x = root(x); y = root(y); if(x == y) return false; if(siz[x] < siz[y]) swap(x,y); par[y] = x; siz[x] += siz[y]; return true; } int size(int x) { return siz[root(x)]; } }; signed main(){ int N,M; cin>>N>>M; vector<vector<int>> G(N); for(int i=0;i<M;i++){ int a,b; cin>>a>>b; a--; b--; G[a].push_back(b); G[b].push_back(a); } int ans = 0; for(int i=0;i<N;i++)for(int j=i+1;j<N;j++){ queue<pair<int,int>> q; set<pair<int,int>> s; int ans_ = 0; q.push({(1<<i),i}); while(!q.empty()){ pair<int,int> pos = q.front(); q.pop(); if(s.count(pos)) continue; s.insert(pos); int a,b; a = pos.first, b = pos.second; for(int c:G[b]){ if(a&(1<<c)) continue; if(c == j){ ans_ |= a; continue; } q.push({a+(1<<c),c}); } } for(int k=0;k<N;k++)if(i-k && j-k && ans_&(1<<k)) ans++; } cout<<ans*2<<endl; }

Compilation message (stderr)

count_triplets.cpp: In function 'bool sub3(std::vector<std::vector<long long int> >&)':
count_triplets.cpp:5:16: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::vector<long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 |   for(int i=0;i<G.size();i++)if(G[i].size() > 2) return false;
      |               ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...