Cod sursa(job #7691)

Utilizator bogdan2412Bogdan-Cristian Tataroiu bogdan2412 Data 21 ianuarie 2007 22:34:49
Problema Triplete Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <cstdio>
#include <vector>
#include <bitset>

using namespace std;

#define MAXN 4096
#define MAXM 65536

int N, M, NR = 0;
vector< pair<int, int> > m;
bitset<MAXN> c[MAXN], tmp;

int main()
{
	freopen("triplete.in", "rt", stdin);
	freopen("triplete.out", "wt", stdout);
	scanf("%d %d", &N, &M);
	for (; M; M--)
	{
		int i, j;
		scanf("%d %d", &i, &j);
		i--; j--;
		m.push_back( make_pair(i, j) );
		c[i][j] = 1; c[j][i] = 1;
	}

	vector< pair<int, int> > :: iterator it;
	for (it = m.begin(); it != m.end(); it++)
	{
		tmp = c[(*it).first] & c[(*it).second];
		for (int i = 0; i < N; i++)
			if (tmp[i])
				NR++;
	}
	printf("%d\n", NR / 3);
	return 0;
}