Cod sursa(job #617635)

Utilizator scipianusFMI Ciprian Olariu scipianus Data 15 octombrie 2011 09:45:48
Problema Triplete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<fstream>
#include<bitset>
#include<cstring>
using namespace std;
int n,m,A[66000],B[66000],sol;
bitset <4100> G[4100],nr;
int main()
{
	int i,j,x,y,lim;
	char s[15];
	ifstream fin("triplete.in");
	fin>>n>>m;
	fin.getline(s,15);
	for(i=1;i<=m;i++)
	{
		fin.getline(s,15);
		j=x=y=0;
		lim=strlen(s);
		while(s[j]!=' ')
		{
			x=x*10+(s[j]-'0');
			j++;
		}
		j++;
		while(j<lim)
		{
			y=y*10+(s[j]-'0');
			j++;
		}
		//fin>>x>>y;
		if(x<y)
			G[x].set(y);
		else
			G[y].set(x);
		A[i]=x; B[i]=y;
	}
	for(i=1;i<=m;i++)
	{
		nr=(G[A[i]]&G[B[i]]);
		sol+=nr.count();
	}
	ofstream fout("triplete.out");
	fout<<sol<<"\n";
	fout.close();
	return 0;
}