М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
zepp1
zepp1
08.07.2021 22:52 •  Информатика

Ограничение времени: 1 сограничение памяти: 256mулиточные бегакаждые 100 лет в стране улиток проводятся улиточные бега на дистанции l сантиметров. это станет для вас неожиданностью, но в этом столетии они проводятся именно сегодня! в этом году организаторы приняли решение провести бега на новой трассе - прямоугольнике размера a × b сантиметров. согласно правилам, участники начнут бежать из нижнего левого угла прямоугольника против часовой стрелки в соответствии со схемой ниже: к сожалению, организаторы забега не могут определить, на какой стороне трассы должен быть расположен финиш, чтобы участники пробежали ровно l сантиметров. напишите программу, которая определить сторону прямоугольника, на которой должна находиться точка финиша.обратите внимание, что длина забега может быть больше периметра прямоугольника. в таком случае, участники должны будут пробежать несколько кругов прежде чем финишировать.формат входных данныхвводятся три целых числа a, b, l (2 ≤ a, b ≤ 106, 1 ≤ l ≤ 109) - длина и ширина прямоугольника и длина пути соответственно. гарантируется, что улитка не останавливается в углу прямоугольника.формат результатавыведите top, если улитка остановится на верхней стороне прямоугольника, bottom - на нижней, left - на левой, right - на правой стороне прямоугольника.примерывходные данные2411результат работыleftвходные данные2413результат работыbottom

👇
Ответ:
marivenkova
marivenkova
08.07.2021

#include <iostream>

using namespace std;

int main()

{

  int L,A,B,P;

  cin >> A >> B >> L;

  P = (A+B)*2;

  if(L > P)

      L %= P;

  if(L > 0 && L < A)

  {

      cout << "BOTTOM";

      return 0;

  }

  if(L > A && L < A+B)

  {

      cout << "RIGHT";

      return 0;

  }

  if(L > A+B && L < 2*A + B)

  {

      cout << "TOP";

      return 0;

  }

  if(L > P - B && L < P)

  {

      cout << "LEFT";

      return 0;

  }

}

Объяснение: easy, bro

4,7(70 оценок)
Ответ:
артем204567
артем204567
08.07.2021

program abc;

var a,b,l:int64;

begin

 assign(input,'snail.in');

 assign(output,'snail.out');

 readLn(a,b,l);

 if (l div (a+b)) mod 2 = 0 then if (l mod (a+b))-a<0 then writeLn('BOTTOM') else writeLn('RIGHT')

 else if (l mod (a+b))-a<0 then writeLn('TOP') else writeLn('LEFT')

end.

4,7(76 оценок)
Ответ:
диана2473
диана2473
08.07.2021

ответ:не принимая во внимание цифры на картинке должно быть как то так

Объяснение:


Повернуть прямоугольник по часовой стрелке на 150 градусов
4,4(16 оценок)
Ответ:
mmakkarova
mmakkarova
08.07.2021

Полные обороты не влияют на положение финиша, так что их можно вычесть из дистанции. Периметр прямоугольника равен P = 2(A + B), так что после выкидывания полных оборотов дистанция будет равна L mod P, где mod - операция взятия остатка. После этого L < P; если L < A, то финиш будет снизу, если A < L < A + B - справа, если A + B < L < 2A + B - сверху, а иначе слева.

Код (python 3):

A = int(input())

B = int(input())

L = int(input())

P = 2 * (A + B)

L = L % P

if L < A:

   print("BOTTOM")

elif L < A + B:

   print("RIGHT")

elif L < 2 * A + B:

   print("TOP")

else:

   print("LEFT")

4,4(75 оценок)
Открыть все ответы
Ответ:
Aurusu
Aurusu
08.07.2021
// тестировалось на C#.Net Framework 4.5
using System;

class Program
{
    static void Main()
    {
        int x1 = 2, y1 = 1;
        int x2 = 6, y2 = 5;
        int x3 = 10, y3 = 1;

        var a = Distance(x2, y2, x3, y3);
        var b = Distance(x1, y1, x3, y3);
        var c = Distance(x2, y2, x1, y1);

       
        Console.WriteLine("S = {0}", Square(a, b, c));
        Console.ReadKey();
    }

    //растояние между точками
    static double Distance(int x1, int y1, int x2, int y2)
    {
        return Math.Sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
    }

    //формула герона
    static double Square(double a, double b, double c)
    {
        var p = (a + b + c) / 2;
        return Math.Sqrt(p * (p - a) * (p - b) * (p - c));
    }

    // теорема косинусов
    static double Angle(double a, double b, double c)
    {
        return Math.Acos((b * b + c * c - a * a) / (2 * b * c));
    }

    static bool IsAcuteAngel(double alpha)
    {
        return alpha < Math.PI / 2;
    }
}
4,6(77 оценок)
Ответ:
emphasisone
emphasisone
08.07.2021
Var a:array[1..100,1..100] of integer; i,j,n,m,max,min:integer; begin write ('Введите количество строк: '); read(n); writeln; write ('Введите количество элементов в строке: '); read(m); writeln; writeln('Введите массив: '); for i:=1 to n do begin for j:=1 to m do begin write(' a[',i,',',j,']='); read(a[i,j]); end; writeln; end; writeln; writeln('Исходный массив: '); for i:=1 to n do begin for j:=1 to m do write(a[i,j],' '); writeln; end; writeln; writeln('Конечный массив: '); for i:=1 to n do begin min:=a[i,1]; max:=a[i,1]; for j:=2 to m do begin if (min>a[i,j]) then min:=a[i,j]; if (max
4,5(57 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ