Cod sursa(job #1933649)
Utilizator | Data | 20 martie 2017 20:59:38 | |
---|---|---|---|
Problema | Triplete | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include<cstdio>
#include<bitset>
using namespace std;
int vertices, edges, answer;
int A[65536], B[65536];
bitset<4096> adj[4096];
int main(){
freopen("triplete.in", "r", stdin);
freopen("triplete.out", "w", stdout);
scanf("%d %d", &vertices, &edges);
for(int i = 0; i < edges; i++){
scanf("%d %d", &A[i], &B[i]);
if(A[i] < B[i]) adj[A[i]].set(B[i]);
else adj[B[i]].set(A[i]);
}
for(int i = 0; i < edges; i++){
answer += (adj[A[i]] & adj[B[i]]).count();
}
printf("%d", answer);
return 0;
}