1

Тема: задача 4566629 з e-olymp

Задача - https://www.e-olymp.com/uk/problems/774
Спробував різні розв'язки, але ні один не підійшов.
Цей дав найбільше правильних відповідей при перевірці (хоч розумію, що він не правильний, але...)

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    int r, w, l;
    cin >> r;
    cin >> w;
    cin >> l;
    if (w > l)
    {
    }
    else
    {
        w = l;
    }
    if (r * 2 > w)
    {
        cout << "YES";
    }
    else
    {
        cout << "NO";
    }
}

Ще пробував розв'язувати через формулу радіуса описаного кола прямокутника

r = sqrt(pow(a, 2) + pow(b, 2)) / 2

Через

if (r == sqrt(pow(a, 2) + pow(b, 2)) / 2)

, але не працює (працює, але видає неправильні відповіді.
Пробував підставляти double замість int при задаванні змінної - не допомогло.
Підкажіть як розв'язати дану задачку.

2 Востаннє редагувалося koala (17.10.2018 23:25:22)

Re: задача 4566629 з e-olymp

У вписаного в коло прямокутника діагональ лежить на діаметрі.
А вам треба перевірити, що ваш прямокутник не більший за вписаний.

Подякували: Eff1c, leofun012

3

Re: задача 4566629 з e-olymp

Ізі.

#include <iostream>
int main() {
    int r, w, l;
    std::cin >> r >> w >> l;
    std::cout << (/* ... */ ? "YES" : "NO");
}