Cod sursa(job #140306)

Utilizator SofinetiSofineti Mihai Sofineti Data 21 februarie 2008 18:34:12
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<stdio.h>
struct Nod {
	long n;
	Nod* urm;
};
void adaug_ultim(Nod* &ultim, int x) {
	Nod* p = new Nod;
	p->n = x;
	p->urm = NULL;
	ultim->urm = p;
	ultim=p;
	       }
/*void afiseaza (Nod* p){
	while (p != NULL) { // atata timp cat nu s-a terminat lista
		cout << p->n << ' ';
		p = p->urm;     // ne deplasam la urmatorul element
	}
}     */
int main () {

freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
long numar;
	Nod* p = NULL;
	long x, i, n;
	Nod *prim = NULL;

	scanf("%ld",&n);
	scanf("%ld",&x);

	adaug_ultim(p,x);
	prim=p;


	for(i=0;i<n;i++){
	    scanf("%ld",&x);
	      adaug_ultim(p,x);

		      }

	for(p=prim;(p->urm)->urm!=NULL;p=p->urm)

	 for(Nod *q=p->urm;q->urm!=NULL;q=q->urm)

	  for(Nod *r=q->urm;r!=NULL;r=r->urm)
	  if((p->n+q->n>=r->n)&&(p->n+r->n>=q->n)&&(q->n+r->n>=p->n)) numar++;

     printf("%ld",numar);
return 0;
}