Pagini recente » Cod sursa (job #3266593) | Cod sursa (job #2394006) | Cod sursa (job #959554) | Cod sursa (job #2969048) | Cod sursa (job #1156396)
#include<cstdio>
#include<bitset>
using namespace std;
const int DIM=524286;
bitset<4096> a[4096];
struct {int x,y;} v[65536];
char ax[DIM+2];
int n,m,nr,pz;
inline void cit(int &x)
{ x=0;
while(ax[pz]<'0' || ax[pz]>'9')
if(++pz==DIM)fread(ax, 1, DIM, stdin), pz=0;
while(ax[pz]>='0' && ax[pz]<='9')
{ x=x*10+ax[pz]-'0';
if(++pz==DIM)fread(ax,1, DIM, stdin),pz=0;
}
}
int main()
{ freopen("triplete.in","r",stdin);
freopen("triplete.out","w",stdout);
scanf("%d %d\n",&n,&m);
for(int i=0;i<m;++i)
{ cit(v[i].x); cit(v[i].y);
v[i].x--; v[i].y--;
a[v[i].x][v[i].y]=a[v[i].y][v[i].x]=1;
}
for(int i=0;i<m;++i) nr+=(a[v[i].x]&a[v[i].y]).count();
printf("%d\n",nr/3);
return 0;
}