Pagini recente » Cod sursa (job #1845889) | Cod sursa (job #239767) | Cod sursa (job #3225637) | Cod sursa (job #402633) | Cod sursa (job #1388741)
#include <fstream>
#define BY 30
using namespace std;
ifstream fin ("triplete.in");
ofstream fout ("triplete.out");
int N, M, sol;
int x[4100], y[4100];
int V[4100][4100 / BY + 16];
int Get_Bits(int nr)
{
int nr_bits = 0;
while (nr)
{
nr_bits += 1;
nr = nr & (nr - 1);
}
return nr_bits;
}
int main()
{
fin >> N >> M;
for (int i = 1; i <= M; i++)
{
fin >> x[i] >> y[i];
V[x[i]][y[i] / BY] |= (1 << (y[i] % BY));
V[y[i]][x[i] / BY] |= (1 << (x[i] % BY));
}
for (int i = 1; i <= M; i++)
{
for (int j = 0; j <= N / BY; j++)
{
sol += Get_Bits((V[x[i]][j] & V[y[i]][j]));
}
}
fout << sol / 3 << '\n';
fout.close();
return 0;
}