Cod sursa(job #129463)

Utilizator IulyanutzFMI Danea Iulian Iulyanutz Data 29 ianuarie 2008 15:38:36
Problema Laser Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <stdio.h>
#include<conio.h>
#include <math.h>
#define filein "laser.in"
#define fileout "laser.out"

long int i, N, xmin, ymin, xmax, ymax;
long int amin, bmin, amax, bmax, x, y;
double umin, umax, u, PI;

int main()
{
PI = 2.0 * acos(0);
clrscr();
freopen(filein, "r", stdin);
scanf("%ld", &N);

scanf("%ld %ld", &xmin, &ymin);
xmax = xmin, ymax = ymin;

amin = amax = -ymin;
bmin = bmax = xmin;

for (i = 2; i <= N; i++)
  {
    scanf("%ld %ld", &x, &y);

    if (amax * x + bmax * y > 0)
      {
        xmax = x, ymax = y;
        amax = -y, bmax = x;
      }

    if (amin * x + bmin * y < 0)
      {
        xmin = x, ymin = y;
        amin = -y, bmin = x;
      }
  }

umin = atan2(ymin, xmin);
umax = atan2(ymax, xmax);
u = ((umax-umin) * 180.0) / PI;

freopen(fileout, "w", stdout);
printf("%.2lf\n", u);

return 0;
}