Cod sursa(job #1580543)

Utilizator vladutz2013hothazie vladut vladutz2013 Data 25 ianuarie 2016 21:55:49
Problema Trapez Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>

using namespace std;
ifstream f ("trapez.in");
ofstream g ("trapez.out");
struct {int x;int y;}c[501];
double  a[500][500];
int n,x,y,i,j,t,w,e,nr;
float m;
int main()
{
   f>>n;
   for(i=1;i<=n;i++)
   {
       f>>w>>e;
       c[i].x=w;
       c[i].y=e;
   }
   for(i=1;i<=n;i++)
   {
       t=0;
       for(j=i+1;j<=n;j++)
       {
            if(c[j].y!=c[i].y && c[j].x!=c[i].x )
                m=(c[j].y-c[i].y)/(c[j].x-c[i].x);
            else
                if(c[j].y==c[i].y || c[j].x==c[i].x )
                    nr++;

            if(m<0)m=-m;

            a[i][++t]=m;
       }


   }
   if(nr%2!=0)nr--;

    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
        {

            for(int k=i+1;k<n;k++)
                for(int p=1;p<=n;p++)
                if(a[i][j]==a[k][p] && a[k][p]!=0) nr++;
        }
    }
g<<nr/2<<endl;
   /*for(i=1;i<=n;i++)
   {
       for(j=1;j<=n;j++) g<<a[i][j]<<" ";
       g<<endl;
   }*/
   f.close();
   g.close();
    return 0;
}