Pagini recente » Cod sursa (job #1674640) | Cod sursa (job #2051532) | Cod sursa (job #1286530) | Cod sursa (job #1388706)
#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)
{
if (nr & 1) nr_bits += 1;
nr = (nr >> 1);
}
return nr_bits;
}
int main()
{
fin >> N >> M;
for (int i = 1; i <= M; i++)
{
fin >> x[i] >> y[i];
if (x[i] > y[i]) swap(x[i], y[i]);
V[x[i]][y[i] / BY] |= (1 << (y[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 << '\n';
fout.close();
return 0;
}