#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++){
vector<int> dist(N,1e18);
dist[i] = 0;
queue<int> q;
q.push(i);
while(!q.empty()){
int pos = q.front();
q.pop();
for(int x:G[pos]){
if(dist[x] != 1e18) continue;
dist[x] = dist[pos] + 1;
q.push(x);
}
}
for(int j=0;j<N;j++)if(dist[j] >= 2) ans += dist[j]-1;
}
cout<<ans<<endl;
}
Compilation message
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 time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
212 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
212 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
1069 ms |
6672 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
18 ms |
340 KB |
Output is correct |
2 |
Correct |
18 ms |
308 KB |
Output is correct |
3 |
Correct |
19 ms |
376 KB |
Output is correct |
4 |
Correct |
25 ms |
360 KB |
Output is correct |
5 |
Correct |
22 ms |
372 KB |
Output is correct |
6 |
Correct |
23 ms |
340 KB |
Output is correct |
7 |
Correct |
23 ms |
340 KB |
Output is correct |
8 |
Correct |
22 ms |
340 KB |
Output is correct |
9 |
Correct |
23 ms |
368 KB |
Output is correct |
10 |
Incorrect |
15 ms |
340 KB |
Output isn't correct |
11 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
1070 ms |
7400 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
19 ms |
384 KB |
Output is correct |
2 |
Correct |
21 ms |
376 KB |
Output is correct |
3 |
Incorrect |
22 ms |
340 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
1086 ms |
7400 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
212 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
212 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |