Pagini recente » Cod sursa (job #3121399) | Cod sursa (job #989633) | Cod sursa (job #1414956) | Cod sursa (job #1541020) | Cod sursa (job #1907026)
#include <bits/stdc++.h>
using namespace std;
int m,n,i,j,in,sf,mid,nr,k;
pair<int,int>x[4196];
vector<int>g[66536];
int main()
{
ifstream f ("triplete.in");
ofstream G ("triplete.out");
f>>n>>m;
for(i=1; i<=m; ++i)
f>>x[i].first>>x[i].second;
sort(x+1,x+m+1);
for(i=1; i<=m; ++i)
{
g[x[i].first].push_back(x[i].second);
g[x[i].second].push_back(x[i].first);
}
for(i=1; i<=n; ++i)
for(j=0; j<g[i].size(); ++j)
for(k=0; k<g[g[i][j]].size(); ++k){
in=0;
sf=g[g[g[i][j]][k]].size()-1;
while(in<=sf)
{
mid=(in+sf)/2;
if(i==g[g[g[i][j]][k]][mid])
{
++nr;
break;
}
else if(i<g[g[g[i][j]][k]][mid])sf=mid-1;
else in=mid+1;
}
}
G<<nr/6;
return 0;
}