Cod sursa(job #2013457)

Utilizator osiaccrCristian Osiac osiaccr Data 21 august 2017 15:04:28
Problema Triplete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <vector>
#include <bitset>

using namespace std;

ifstream fin ("triplete.in");
ofstream fout ("triplete.out");

vector <int> A[4097];
bitset <4097> B[4097];

int n, m, nr;

int main () {
    fin >> n >> m;
    for (int i = 1; i <= m; i++) {
        int x, y;
        fin >> x >> y;
        A[x].push_back (y);
        A[y].push_back (x);
        B[x][y] = 1;
        B[y][x] = 1;
    }

    for (int i = 1; i <= n; i++) {
        for (int j = 0; j < A[i].size (); j++) {
            int vecin1 = A[i][j];
            for(int k = 0; k < A[vecin1].size (); k++) {
                int vecin2 = A[vecin1][k];
                if (i != vecin1 && i != vecin2 && vecin1 != vecin2 && B[i][vecin2])
                    nr++;
            }
        }
    }

    fout << nr / 6;

    return 0;
}