ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1258. Бильярд

this is really shitty....this program compiles just fine with gcc3.2 why do I get CE
Послано Fechete Dan Ionut[dany] 3 окт 2004 22:17
#include <stdio.h>
#include <math.h>

int i,j,n,m,k;
int w,d;


int main()
{
    int x0,y0,x1,y1;
    scanf ("%d%d%d%d%d%d",&w,&d,&x0,&y0,&x1,&y1);
    char c[10000];
    scanf ("%s",c);
    for (i=0;c[i];i++)
     {
     if (c[i]=='F') y0=-y0;
     if (c[i]=='L') x0=-x0;
     if (c[i]=='B') y0=d+d-y0;
     if (c[i]=='R') x0=w+w-x0;
     }
    double dist=sqrt((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1));

    printf ("%.4lf\n",dist);

    return 0;
}
Re: this is really shitty....this program compiles just fine with gcc3.2 why do I get CE
Послано Vladimir Yakovlev (USU) 3 окт 2004 23:16
You must replace

sqrt((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1));

with

sqrt((double)((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1)));