Mai intai trebuie sa te autentifici.
Cod sursa(job #1415253)
Utilizator | 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;
}