Cod sursa(job #1192209)

Utilizator alevasluialeHuhurez Marius alevasluiale Data 28 mai 2014 20:52:32
Problema Triplete Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <bitset>
#define N 4097
#include <vector>
#include <utility>
using namespace std;
vector<pair <int,int> > H;
vector <pair <int,int> >::iterator it;
bitset<N>viz[N];
bitset<N>v[N];
bitset<N>p;
ifstream fin("triplete.in");
ofstream fout("triplete.out");
int main()
{
    int n,m,i,x,y,sol=0;
    fin>>n>>m;
    for(i=1;i<=m;i++)
    {
        fin>>x>>y;
        v[x][y]=1;
        v[y][x]=1;
        if(!viz[x][y])
        {
            H.push_back(make_pair(x,y));
            viz[x][y]=viz[y][x]=1;
        }
    }
    for(it=H.begin();it!=H.end();it++)
    {   p=v[it->first]&v[it->second];
        for(i=1;i<=n;i++) if(p[i]) sol++;
        v[it->first][it->second]=v[it->second][it->first]=0;
    }
    fout<<sol;
}