Pagini recente » Cod sursa (job #45553) | Cod sursa (job #2763496) | Cod sursa (job #2203328) | Cod sursa (job #3206573) | Cod sursa (job #3272195)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("triplete.in");
ofstream fout("triplete.out");
const int biti = 32;
int n, m, i, j, x[65552], y[65552], bit;
int a[4102][4102 / biti + 2], rasp;
int main() {
fin >> n >> m;
for(i = 0; i < m; i++) {
fin >> x[i] >> y[i];
x[i]--;
y[i]--;
}
for(i = 0; i < m; i++) {
bit = x[i] % biti;
a[y[i]][x[i] / biti] |= (1 << bit);
bit = y[i] % biti;
a[x[i]][y[i] / biti] |= (1 << bit);
}
rasp = 0;
for(i = 0; i < m; i++) {
for(j = 0; j <= n / biti; j++) {
rasp += __builtin_popcount(a[x[i]][j] & a[y[i]][j]);
}
}
fout << rasp / 3 << "\n";
return 0;
}