Cod sursa(job #550637)

Utilizator IAmASuperCerealVictor Andrei IAmASuperCereal Data 9 martie 2011 20:14:00
Problema Triplete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<stdio.h>
#define NMAX 5001
#define input "triplete.in"
#define output "triplete.out"
bool v[NMAX][NMAX];
int n,nr,i,j;

void open()
{
	freopen(input,"r",stdout);
	freopen(output,"w",stdout);
} 

inline void swap(int &a,int &b)
{
	int c;
	c=a;
	a=b;
	b=c;
}

void read()
{
	int i,j,m,x,y;
	scanf("%d%d",&n,&m);
	for (i=1;i<=m;i++)
	{
		scanf("%d%d",&x,&y);
		if (x>y)
			swap(x,y);
		v[x][y]=true;
	}
}

void count(int i,int j)
{
	for (int k=1;k<=n;k++)
		if(v[i][k]&&v[j][k])
			nr++;
}

void _where_the_magic_happens()
{
	for (int i=1;i<n;i++)
		for (int j=i+1;j<=n;j++)
			if (v[i][j])
				count(i,j);
}

void a_fish()
{
	printf("%d",nr);
}

int main()
{
	open();
	read();
	_where_the_magic_happens();
	a_fish();
	return 0;
}