Cod sursa(job #755970)

Utilizator lucian666Vasilut Lucian lucian666 Data 8 iunie 2012 13:34:43
Problema Triplete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb


#include<fstream>
#include<vector>
#define pb push_back
using namespace std;
ofstream out("triplete.out");

int n,m,Y[60000],X[60000],ly,lx,uz1[60000],uz2[60000];
vector<int>G[4097];
typedef vector<int>:: iterator IT;
long long ans;
void read();
void solve();
bool inside(int ,int);

int main()
{
	read();
	solve();
	out<<ans;
	return 0;
}


void read()
{
	ifstream in("triplete.in");
	in>>n>>m;
	int mm=m;
	for(int x,y;mm;--mm)
	{
		in>>x>>y;
		X[++lx]=x;
		Y[++ly]=y;
		G[x].pb(y);
		G[y].pb(x);
	}
}





void solve()
{
	for(int i=1;i<=m;i++)
	{
		
		int xx=X[i];
		int yy=Y[i];
			for(IT I1=G[xx].begin();I1!=G[xx].end();++I1)
				for(IT I2=G[yy].begin();I2!=G[yy].end();++I2)
					if(*I1==*I2&&uz1[*I1]==0&&uz2[*I2]==0)
					{
						
						
								++ans;
								uz1[*I1]=1;
								uz2[*I2]=1;
					}
}
}