Pagini recente » Cod sursa (job #2505594) | Cod sursa (job #512286) | Cod sursa (job #1117584) | Cod sursa (job #108343) | Cod sursa (job #3231492)
#include <iostream>
#include <fstream>
#include <stdint.h>
#include <vector>
#include <bitset>
const int32_t MAX_N = 4096;
std::vector<int32_t> adj[MAX_N];
std::bitset<MAX_N> mat[MAX_N];
int main() {
std::ifstream fin("triplete.in");
std::ofstream fout("triplete.out");
int32_t n, m;
fin >> n >> m;
for(int32_t i = 0; i != m; ++i) {
int32_t x, y;
fin >> x >> y;
--x; --y;
if(x < y) {
adj[x].push_back(y);
} else {
adj[y].push_back(x);
}
mat[x][y] = 1;
mat[y][x] = 1;
}
int32_t count = 0;
for(int32_t i = 0; i != n; ++i) {
for(int32_t j : adj[i]) {
for(int32_t k = j + 1; k != n; ++k) {
if(mat[k][i] && mat[k][j])
++count;
}
}
}
fout << count;
fin.close();
fout.close();
return 0;
}