Pagini recente » Cod sursa (job #2699669) | Cod sursa (job #2707426) | Cod sursa (job #1973671) | Cod sursa (job #785434) | Cod sursa (job #1192354)
#include <cstdio>
#include <bitset>
#include <vector>
#include <utility>
using namespace std;
vector<pair <int,int> > H;
vector <pair <int,int> >::iterator it;
bitset<4096>viz[4096];
char buffer[65536*8];
int main()
{ freopen("triplete.in","r",stdin);
freopen("triplete.out","w",stdout);
int n=0,m=0,i,j,x,y,sol=0;
scanf("%d %d\n",&n,&m);
fread(buffer,1000099,6553699,stdin);
bitset<4096>v[n+1];
bitset<4096>p;
for(j=0;buffer[j]!=0;j++)
{ x=0;
for(;buffer[j]!=' ';j++) x=x*10+buffer[j]-'0';
y=0;
for(j++;buffer[j]!='\n';j++) y=y*10+buffer[j]-'0';
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];
sol=sol+p.count();
v[it->first][it->second]=v[it->second][it->first]=0;
}
printf("%d",sol);
}