Cod sursa(job #737547)

Utilizator gabrielvGabriel Vanca gabrielv Data 19 aprilie 2012 17:18:49
Problema Triplete Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
using namespace std;
#include<fstream>
#include<bitset>
#include<algorithm>
#include<vector>
#define NMAX 4100
#define go(x,y,v) (v.push_back(make_pair((x),(y))))
#define maxim(a,b) ((a>b)?(a):(b))
//bitset<NMAX> a[NMAX];
bool a[NMAX][NMAX];
vector< pair <short int, short int > > M;
int n,S=0,m;
void citire()
{
	freopen("triplete.in","r",stdin);
	short int x,y,i;
	scanf("%d %d",&n,&m);
	for(i=0;i<m;i++)
	{
		scanf("%hd %hd",&x,&y);
		a[x][y]=1;
		a[y][x]=1;
		go(x,y,M);
	}
}
void solve()
{
	unsigned i,j;
	for(i=0;i<m;i++)
		for(j=maxim(M[i].first,M[i].second)+1;j<=n;j++)
			if(a[M[i].first][j]&&a[M[i].second][j])
				S++;
}
void afisare()
{
	freopen("triplete.out","w",stdout);
	printf("%d\n",S);
}
int main()
{
	citire();
	solve();
	afisare();
	return 0;
}