Cod sursa(job #534450)

Utilizator loginLogin Iustin Anca login Data 15 februarie 2011 19:00:16
Problema Triplete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
# include <fstream>
# include <vector>
# define MaxM 66000
# define MaxN 5000
# define pb push_back
using namespace std;
int n, m, t, x[MaxM], y[MaxM], v[MaxN], sol;
vector<int>G[MaxN];

void read ()
{
	ifstream fin ("triplete.in");
	fin>>n>>m;
	for(int i=1;i<=m;++i)
	{
		fin>>x[i]>>y[i];
		G[x[i]].pb(y[i]);
		G[y[i]].pb(x[i]);
	}	
}

void solve ()
{
	unsigned j;
	int q, i;
	for(i=1;i<=m;++i)
	{
		q=0;
		for(j=0;j<G[x[i]].size();++j)
			++v[G[x[i]][j]];
		for(j=0;j<G[y[i]].size();++j)
			if (v[G[y[i]][j]])
				++q;
		for(j=0;j<G[x[i]].size();++j)
			--v[G[x[i]][j]];
		sol+=q;
	}
}

int main ()
{
	read ();
	solve ();
	ofstream fout ("triplete.out");
	fout<<sol/3;
	return 0;
}