Pagini recente » Cod sursa (job #2106510) | Cod sursa (job #2649193) | Statistici Daddy DA (da.da) | Cod sursa (job #2341938) | Cod sursa (job #1482636)
#include<fstream>
#define x first
#define y second
using namespace std;
int n, m, i, nr, j, nr1, x;
short a[4100][4100 / 16 + 1], v[66000];
pair<int, int> p[66000];
ifstream fin("triplete.in");
ofstream fout("triplete.out");
int main(){
fin>> n >> m;
for(i = 1; i <= m; i++){
fin>> p[i].x >> p[i].second;
a[p[i].x][p[i].y / 16] += (1 << (p[i].y % 16));
a[p[i].y][p[i].x / 16] += (1 << (p[i].x % 16));
}
for(i = 1; i <= (1 << 16) - 1; i++){
v[i] = v[i / 2] + i % 2;
}
for(i = 1; i <= m; i++){
nr1 = 0;
for(j = 0; j <= n / 16 + 1; j++){
x = a[p[i].x][j] & a[p[i].y][j];
nr1 += v[x];
}
nr += nr1;
}
fout<< nr / 3 <<"\n";
return 0;
}