Cod sursa(job #1132219)
| Utilizator | Data | 2 martie 2014 21:28:05 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <stdio.h>
#define NM 801
using namespace std;
FILE *f=fopen("nrtri.in","r");
FILE *g=fopen("nrtri.out","w");
int i,N,c,t[NM],s[4];
void v()
{
bool ok(0);
if(t[s[1]]+t[s[2]]<t[s[3]]) ok=1;
if(t[s[2]]+t[s[3]]<t[s[1]]) ok=1;
if(t[s[3]]+t[s[1]]<t[s[2]]) ok=1;
if(!ok) c++;
}
void b(int k)
{
for(int i=1;i<=N;i++)
if(i>s[k-1])
{
s[k]=i;
if(k==3) v();
else b(k+1);
}
}
int main()
{
fscanf(f,"%d",&N);
for(i=1;i<=N;i++)
fscanf(f,"%d",&t[i]);
b(1); fprintf(g,"%d",c);
return 0;
}
