Cod sursa(job #7078)

Utilizator kyrk_ddDragos Dumitrescu kyrk_dd Data 21 ianuarie 2007 12:21:39
Problema Triplete Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 1, Clasa a 10-a Marime 0.75 kb
#include<iostream.h>
#include<fstream.h>
main()
{
long a[50000],b[50000],i,j,n,m,aux,aux2,k,t;
fstream f("triplete.in",ios::in);
fstream g("triplete.out",ios::out);
f>>n;f>>m;
for(i=1;i<=m;i++)
 { f>>a[i];
   f>>b[i];
 }
i=1;a[0]=0;
do{
   if(a[i]>a[i+1]){ aux=a[i]; aux2=b[i];
		    a[i]=a[i+1]; b[i]=b[i+1];
		    a[i+1]=aux; b[i+1]=aux2;
		    i-=2;
		  }
   i++;
   }while(i<m);
int valid;
i=1;j=2;
long s=0,p;
do{
 do{
    if(a[i]==a[j])
       {  k=b[i]; t=b[i+1];
	  if(k>t){aux=k;k=t;t=aux; }
	  p=j+1;valid=0;
	  do{
	      if((k==a[p])&&(t==b[p]))
		{ valid=1;
		  s++;
		}
	     p++;
	    }while((p<=m)&&(valid!=1)&&(k<=a[p]));
	}
    j++;
    }while(a[i]>=a[j]);
 i++;j=i+1;
 }while(i<m);
g<<s;

return 0;
}