Cod sursa(job #589110)

Utilizator Andy_MascaMasca Andrei Andy_Masca Data 10 mai 2011 21:29:26
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include<fstream>
#define Nmax 1000

using namespace std;

struct punct {int x,y;}v[1001];
long long int i,j,k,n,aux1,aux2;
float p[1001];

int main()
{
    ifstream fin("trapez.in");
    ofstream fout("trapez.out");
    fin>>n;
    for(i=1;i<=n;i++)
       {
       fin>>v[i].x;
       fin>>v[i].y;
       }
    k=1;
    for(i=1;i<=n;i++)
       for(j=i+1;j<=n;j++)
          {
          aux1=v[j].y-v[i].y;
          aux2=v[j].x-v[i].x;
          if(aux1==0||aux2==0)
            p[k]=0;
             else p[k]=aux1/aux2;
          k++;
          }
    k--;
    for(i=1;i<=k;i++)
       for(j=i+1;j<=k;j++)
          if(p[j]<p[i])
            {
            aux1=p[i];
            p[i]=p[j];
            p[j]=aux1;
            }
    int x,S=1,F=0;
    for(i=1;i+1<=k;i++)
       {
       x=p[i];
       while(x==p[i+1])
            {
            S++;
            i++;
            }
       if(S!=1)
          F+=(S*(S-1))/2;
       S=1;
       }
    fout<<F;
}