Cod sursa(job #1554172)

Utilizator Andrei1998Andrei Constantinescu Andrei1998 Data 20 decembrie 2015 23:44:53
Problema Triplete Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <bitset>
#include <utility>

using namespace std;

const int NMAX = 4136;
const int MMAX = 65605;

bitset <NMAX> graph[NMAX];
pair <int, int> edges[MMAX];


int main()
{
    ifstream cin("triplete.in");
    ofstream cout("triplete.out");

    int n = 0, m = 0;
    cin >> n >> m;

    for (int i = 1; i <= m; ++ i) {
        cin >> edges[i].first >> edges[i].second;
        graph[edges[i].first][edges[i].second] = 1;
        graph[edges[i].second][edges[i].first] = 1;
    }

    long long int ans = 0;
    for (int i = 1; i <= m; ++ i)
        ans += (graph[edges[i].first] & graph[edges[i].second]).count();

    cout << ans / 3 << '\n';

    cin.close();
    cout.close();
    return 0;
}