Pagini recente » Cod sursa (job #2533486) | Cod sursa (job #2681994) | Cod sursa (job #1926697) | Cod sursa (job #1845529) | Cod sursa (job #1933923)
#include <cstdio>
#include <vector>
using namespace std;
vector<int> adj[4097];
int vertices, edges, answer;
int u, v, visited[4097];
void BFS(int node){
visited[node] = node + 1;
for(int i = 0; i < adj[node].size(); i++){
visited[adj[node][i]] = node + 1;
}
for(int i = 0; i < adj[node].size(); i++){
for(int j = 0; j < adj[adj[node][i]].size(); j++){
if(visited[adj[adj[node][i]][j]] == node + 1 && adj[adj[node][i]][j] != node){
answer++;
}
}
}
}
int main(){
freopen("triplete.in", "r", stdin);
freopen("triplete.out", "w", stdout);
scanf("%d %d", &vertices, &edges);
for(int i = 1; i <= edges; i++){
scanf("%d %d", &u, &v);
adj[u].push_back(v);
adj[v].push_back(u);
}
for(int node = 1; node <= vertices; node++){
BFS(node);
}
printf("%d", answer / 6);
return 0;
}