Cod sursa(job #1594839)

Utilizator alexmisto342Turdean Alexandru alexmisto342 Data 9 februarie 2016 19:24:07
Problema Triplete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <fstream>
#include <cstring>
#include <vector>
#include <bitset>
#include <cstdio>
using namespace std;
#define mp make_pair

#define eps 0.000001
#define inf 1 << 31
ifstream fin("triplete.in");
bitset<4097> v[4097];
string Buffer;
string :: iterator it;
int muchii[65537][2];
int n,m,i,j,total,a,b;
int ReadInt()
{

    int nr = 0;

    while ( *it < '0' || *it > '9' )
        it++;

    while ( *it >= '0' && *it <= '9' ){
        nr = nr * 10 + ( *it - '0' );
        it++;
    }

    return nr;
}

int main()
{

    getline( fin, Buffer , (char) 0);
    it = Buffer.begin();
    n=ReadInt();m=ReadInt();
    for(i = 1; i <= m; i++)
    {
        a= ReadInt();
        b=ReadInt();
        if(a > b)
        swap(a, b);
        v[a][b] = 1;
        muchii[i][0] = a;
        muchii[i][1] = b;
    }


    FILE *f = fopen("triplete.out", "w");

    for(i = 1; i <= m; i++)
        total += ( v[ muchii[i][0] ] & v[ muchii[i][1] ] ).count();
    fprintf(f, "%d\n", total);
  fclose(f);


    return 0;
}