Cod sursa(job #268305)

Utilizator conttPop Mircea contt Data 1 martie 2009 00:56:25
Problema Numarare triunghiuri Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream.h>
#include <iostream.h>
int cnt=0,st[1000],a[1000],n;

void afisare()
{
     if  (a[st[1]]+a[st[2]]>=a[st[3]])
     cnt++;
     }
    
     int valid(int p)
     {
         int i;
         for(i=1;i<p;i++)
           if (st[i]==st[p]) return 0;
           return 1;
           }
void back(int p)
{
      int pval;
      for(pval=st[p-1]+1;pval<=n;pval++)
         {st[p]=pval;
         if (valid(p))
           if (p==3) afisare();
           else back(p+1);
           else break;
           }
           }
  void sort()
  {int aux,i,j;
       for(i=1;i<n;i++)
         for(j=i+1;j<=n;j++)
           if (a[i]>a[j])
            {aux=a[i];a[i]=a[j];a[j]=aux;}
            }            

int main()
{int i;
    ifstream f("nrtri.in");
    f>>n;
    for(i=1;i<=n;i++)
    f>>a[i];
    f.close();
    sort();
    back(1);
    ofstream g("nrtri.out");
    g<<cnt;
    g.close();
}