Cod sursa(job #1981891)

Utilizator KillerBananaZRadu Bouaru KillerBananaZ Data 17 mai 2017 09:37:44
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int v[100],x[100],n,nrsol;
void citire(int&n,int v[100])
{
    f >> n;
    for(int i=1;i<=n;i++)
        f >> v[i];
}
int solutie(int k)
{
    if(k!=3)
        return 0;
        if(k>2)
    if(v[x[k]]+v[x[k-1]]<=v[x[k-2]]||v[x[k-1]]+v[x[k-2]]<=v[x[k]]||v[x[k]]+v[x[k-2]]<=v[x[k-1]])
        return 0;
    return 1;
}
int valid(int k)
{
    if(k>1)
        if(x[k+1]>=x[k])
        return 0;
    return 1;
}
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(solutie(k))
            nrsol++;
        else
        {
        k++;
        x[k]=0;
        }
    }
    else
    k--;
}
int main()
{
    citire(n,v);
    bkt();
    g << nrsol;
}