Cod sursa(job #1098198)

Utilizator superman_01Avramescu Cristian superman_01 Data 4 februarie 2014 17:09:55
Problema Triplete Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <algorithm>
#include <vector>
#include <cstring>
#include <bitset>

#define NMAX 4100

using namespace std;

ifstream in ( "triplete.in" );
ofstream out ( "triplete.out" );

int N , M , Answer ;
bitset < NMAX > Edge[NMAX];

int main ( void )
{
	int i , j , first_Animal , second_Animal ;
	
	in >> N >> M ;
	for ( i = 1 ; i <= M ; ++i )
	{
		in >> first_Animal >> second_Animal;
		Edge[first_Animal][second_Animal] = Edge[second_Animal][first_Animal] = true ;
	}
	
	for ( i = 1 ; i <= N ; ++i )
		for ( j = i + 1 ; j <= N ; ++j )
			if ( Edge[i][j] )
				Answer += ( Edge[i] & Edge[j]).count();
			
	out << Answer/3 << "\n";
	in.close();
	out.close();
	return 0;
}