Cod sursa(job #447310)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 28 aprilie 2010 13:13:36
Problema Triplete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>
#include<string.h>
#include<vector>
using namespace std;

int n,m,f[5004],nrsol;
struct que
{
	int x,y;
};
vector<int> v[5003];
que q[70005];

int main ()
{
	int a,b,i,j,lung;
	freopen("triplete.in","r",stdin);
	freopen("triplete.out","w",stdout);
	scanf("%d%d",&n,&m);
	for(i=1;i<=m;i++)
	{
		scanf("%d%d",&q[i].x,&q[i].y);	
		a=q[i].x;
		b=q[i].y;
		v[a].push_back(b);
		v[b].push_back(a);
	}
	for(i=1;i<=n;i++)
	{
		lung=v[i].size();
		for(j=0;j<lung;j++)
			f[v[i][j]]=1;
		for(j=1;j<=m;j++)
			if(q[j].x!=i && q[j].y!=i)
				if(f[q[j].x] && f[q[j].y])
					nrsol++;
		memset(f,0,sizeof(f));
	}	
	printf("%d\n",nrsol/3);
	return 0;
}