Pagini recente » Cod sursa (job #912967) | Cod sursa (job #166473) | Istoria paginii runda/piscot512/clasament | Istoria paginii runda/oji-2010-11-12 | Cod sursa (job #1981896)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int n,p,x[100],T[100],nr=0;
void citire(int &n,int T[])
{
f>>n;
for(int i=1;i<=n;i++)
f>>T[i];}
int valid(int k)
{
if(k>1&&(x[k-1]>=x[k]))
return 0;
return 1;}
int sol(int k)
{
if(k!=3)
return 0;
if(!(T[x[3]] > T[x[1]]+ T[x[2]]) && !(T[x[2]] > T[x[1]] + T[x[3]]) && !(T[x[1]] > T[x[2]] + T[x[3]]))
return 1;
return 0;
}
void BKT()
{int k;
k=1;
x[k]=0;
while(k!=0)
if(x[k]<n)
{x[k]=x[k]+1;
if(valid(k))
if(sol(k))
nr++;
else
{k++;
x[k]=0;}}
else
k--;}
int main()
{
citire(n,T);
BKT();
g<<nr;
return 0;}