Pagini recente » Borderou de evaluare (job #1438045) | Cod sursa (job #1489218) | Cod sursa (job #2493886) | Cod sursa (job #2759947) | Cod sursa (job #1192214)
#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;
}