Pagini recente » Cod sursa (job #3217389) | Cod sursa (job #2391257) | Cod sursa (job #9220) | Cod sursa (job #3196604) | Cod sursa (job #2396501)
#include <fstream>
#include <bitset>
using namespace std;
ifstream fin("triplete.in");
ofstream fout("triplete.out");
int n, m;
bitset<4100> g[4100];
int nr[4100];
long long sol;
int main() {
fin >> n >> m;
for (int i = 1; i <= n; i++) {
int x, y;
fin >> x >> y;
g[x][y] = 1;
g[y][x] = 1;
}
for (int i = 1; i <= 4096; i++)
for (int j = 0; j <= 12; j++)
if(i & (1 << j))
nr[i]++;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
if(g[i][j] == 1) {
bitset<4100> x = g[i] & g[j];
sol += nr[x.to_ulong()];
}
fout << sol / 3 << '\n';
}