Cod sursa(job #875474)

Utilizator Mihai22eMihai Ionut Enache Mihai22e Data 10 februarie 2013 11:12:21
Problema Triplete Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<fstream>
#include<vector>

using namespace std;

#define MAXN 4097

unsigned short int N, M, i, j, k, res, x, y;
char A[ MAXN ][ MAXN ];
vector < unsigned short int > v[ MAXN ];

int main()
{
    ifstream f("triplete.in");
    ofstream g("triplete.out");

    f >> N >> M;
    for(i = 1; i <= M; ++i)
    {
        f >> x >> y;

        if(x > y)
            j = x, x = y, y = j;
        A[x][y] = A[y][x] = 1;
        v[x].push_back(y);
    }

    for(i = 1; i <= N; ++i)
        for(j = 0; j < v[i].size(); ++j)
            for(k = 0; k < v[ v[i][j] ].size(); ++k)
                if(A[i][ v[ v[i][j] ][k] ])
                    ++res;

    g << res << '\n';

    f.close();
    g.close();

    return 0;
}