Cod sursa(job #1933713)

Utilizator 1475369147896537415369Andrei Udriste 1475369147896537415369 Data 20 martie 2017 21:44:30
Problema Triplete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<cstdio>
#include<bitset>
using namespace std;

int vertices, edges, answer;
int u[65538], v[65538];
bitset<4098> adj[4098];

inline int get_nr(){

    int number = 0;
    char c = getchar();

    while(!(47 < c && c < 58)){
        c = getchar();
    }
    while(47 < c && c < 58){
        number = number * 10 + c - '0';
        c = getchar();
    }
    return number;
}

int main(){

    freopen("triplete.in", "r", stdin);
    freopen("triplete.out", "w", stdout);

    vertices = get_nr();
    edges = get_nr();

    for(int i = 1; i <= edges; i++){

        u[i] = get_nr();
        v[i] = get_nr();

        adj[u[i]].set(v[i]);
        adj[v[i]].set(u[i]);
    }

    for(int i = 1; i <= edges; i++){
        answer += (adj[u[i]] & adj[v[i]]).count();
    }

    printf("%d", answer / 3);

    return 0;
}