Pagini recente » Cod sursa (job #5861) | Cod sursa (job #524102) | Cod sursa (job #1355479) | Cod sursa (job #694939) | Cod sursa (job #1098209)
#include <fstream>
#include <bitset>
#define NMAX 4100
#define SZ 1500000
#define MMAX 65540
using namespace std;
ifstream in ( "triplete.in" );
ofstream out ( "triplete.out" );
int N , M , Answer ;
bitset < NMAX > Edge[NMAX];
pair < int , int > A[MMAX];
char input[SZ],*ina=input;
inline int atoi()
{
int nr=0;
for(;!(*ina>='0' && *ina<='9');++ina);
for(;*ina>='0' && *ina<='9';++ina)
nr=nr*10+(*ina-'0');
return nr;
}
int main ( void )
{
int i , j , first_Animal , second_Animal ;
in.read(input , SZ);
N = atoi(), M = atoi();
for ( i = 1 ; i <= M ; ++i )
{
A[i].first = atoi() , A[i].second = atoi();
Edge[A[i].first][ A[i].second] = Edge[ A[i].second][A[i].first] = true ;
}
for ( i = 1 ; i <= M ; ++i )
{ bitset<NMAX> x = Edge[A[i].first]&Edge[A[i].second] ; Answer += x.count();}
out << Answer/3 << "\n";
in.close();
out.close();
return 0;
}