Cod sursa(job #1008242)
| Utilizator | Data | 10 octombrie 2013 18:00:10 | |
|---|---|---|---|
| Problema | Triplete | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <bitset>
#include <stdio.h>
using namespace std;
bitset<4096> G[4096];
int X[65536], Y[65536];
int main() {
freopen("triplete.out", "w", stdout);
freopen("triplete.in", "r", stdin);
int N, M;
scanf("%d %d", &N, &M);
for(int i = 0 ; i < M ; ++ i) {
scanf("%d %d", &X[i], &Y[i]);
-- X[i];
-- Y[i];
G[X[i]][Y[i]] = 1;
G[Y[i]][X[i]] = 1;
}
int Ans = 0;
for(int i = 0 ; i < M ; ++ i)
Ans += ((bitset<4096>)G[X[i]]&G[Y[i]]).count();
printf("%d\n", (int)Ans/3);
return 0;
}
