Mai intai trebuie sa te autentifici.

Cod sursa(job #1415253)

Utilizator OrolesVultur Oroles Data 4 aprilie 2015 01:20:41
Problema Numarare triunghiuri Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <iostream>
#include <fstream>

int a[800];

void bubblesort(int *v, int size)
{
	for ( int i = 0; i < size - 1; ++i )
	{
		for ( int j = i + 1; j < size; ++j )
		{
			if ( v[i] > v[j] )
			{
				int tmp = v[i];
				v[i] = v[j];
				v[j] = tmp;
			}
		}
	}
}

int isTriangle( int x, int y, int z )
{
	if ( x+y >= z && x+z >= y && y+z >= x )
	{
		return 1;
	}
	return 0;
}

int counttri( int *v, int size )
{
	int count = 0;
	for ( int i = 0; i < size - 2; ++i )
	{
		for ( int j = i+1; j < size - 1; ++j )
		{
			for ( int k = j+1; k < size; ++k )
			{
				if (isTriangle(v[i],v[j],v[k]))
				{
					++count;
				}
			}
		}
	}
	return count;
}

int main( int argc, char* argv[] )
{
	std::ifstream input("nrtri.in");
	std::ofstream output("nrtri.out");
	
	int N;
	input >> N;
	for ( int i = 0; i < N; ++i )
	{
		input >> a[i];
	}
	bubblesort( a, N );
	output << counttri( a, N ) << "\n";

	input.close();
	output.close();
	return 0;
}