Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
5 / 5 / 0
Регистрация: 20.06.2016
Сообщений: 87
1

Сколько ягод соберет Винни-Пух?

09.03.2017, 16:57. Показов 2121. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Првиет всем
задача звучит так:

Вини-Пух стоит на прямоугольном поле размером N*M клеток. В каждой клетке растет по одной ягоде. В начальный момент времени он стоит на левой верхней клетке. Он начинает собирать ягоды по верхнему краю поля. Если он доходит до края поля или до пустой клетки, он поворачивается на 90 градусов вправо и продолжает собирать ягоды. Но дойдя до очередной клетки Вини вспоминает, что его ждет Пятачок, и он уходит с поля.

Входные данные

В первой строке входного файла INPUT.TXT стоят размеры поляны N и M (0 < N, M ≤ 100) – высота и ширина, во второй числа Y и X (0 < Y ≤ N, 0 < X ≤ M) –номера строки и столбца клетки, дойдя до которой Вини-Пух прекращает собирать ягоды.

Выходные данные

В выходной файл OUTPUT.TXT выведите число ягод, которые соберет Пух.


Мой код


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
var
a:array[1..100,1..100]of longint;
up,left,right,down:boolean;
y,x,m,l,r,d,u,q,i,n,j:longint;
begin
readln(n,m);
 
left:=false;
down:=false;
right:=true;
up:=false;
l:=1;
r:=m;
d:=n;
u:=2;
q:=1;
a[1,1]:=1;
j:=1;
i:=1;
readln(y,x);
// заполняю массив числами по спирали 
while q<>(n*m) do begin
    if right then begin
        inc(q);
        inc(j);
        a[i,j]:=q;
        if q=(n*m) then break;
        if j=r then begin
            dec(r);
            right:=false;
            down:=true;
        end;
    end;
    if down then begin
        inc(q);
        inc(i);
        a[i,j]:=q;
                if q=(n*m) then break;
        if i=d then begin
            dec(d);
            down:=false;
            left:=true;
        end;
    end;
    if left then begin
        inc(q);
        dec(j);
        a[i,j]:=q;
                if q=(n*m) then break;
        if j=l then begin
            inc(l);
            left:=false;
            up:=true;
        end;
    end;
    if up then begin
        inc(q);
 
        dec(i);
        a[i,j]:=q;
                if q=(n*m) then break;
        if i=u then begin
            inc(u);
            up:=false;
            right:=true;
        end;
    end;
 
 
end;
{for i:=1 to n do begin
for j:=1 to m-1 do write(a[i,j],' ');
writeln(a[i,m]);
end;              }
// вывожу число стояшия на этом месте
writeln(a[y,x])
end.
у меня вот не проходит 5 тест (((
WA

может есть баг ?
я думаю первые 4 теста были такие что n=m тоисть n*n
а в 5 тесте n*m n<>m вот и вывожу не то число
помогите плз
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2017, 16:57
Ответы с готовыми решениями:

Сколько кг пищи съест Винни-Пух
На первом и втором дне рождения у Пятачка Винни-Пух съел по 100 г пищи, а в каждый из следующих...

Определить, сколько килограммов пищи Винни-Пух съест на пятнадцатом дне рождения
На каждом следующем дне рождения Винни-Пух съедает столько же пищи что и на двух предыдущих. На...

Определить, сколько килограммов пищи съест Вини Пух на пятнадцатом дне рождения
Помогите с решением: На каждом следующем дне рождения Вини Пух съедает столько же пищи, что и на...

Написать программу, определяющую, сколько килограммов пищи Винни-Пух съест на пятнадцатом дне рождения
На каждом следующем дне рождения Винни-Пух съедает столько же пищи что и на двух предыдущих. На...

3
8 / 7 / 1
Регистрация: 18.03.2020
Сообщений: 24
18.03.2020, 09:11 2
Ты, в итоге, нашёл в чём была проблема с 5 тестом?

Добавлено через 1 минуту
ProHacker, если ты разобрался с 5 тестом, напиши, пожалуйста, мне
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
18.03.2020, 09:28 3
В обсуждении задачи на сайте пишут
Зинов Вадим Игоревич, 21 мая 2015 г. 17:23:48
Столько времени убил на 5 тест, а потом поменял M и N местами =(
0
3017 / 1642 / 649
Регистрация: 19.03.2019
Сообщений: 5,316
18.03.2020, 10:14 4
Dimasssssssssss, код решения написан не очень оптимально, но ошибок в полученном в данном коде решения я лично не нашёл.
Может быть, высота N и ширина M местами перепутаны в тестирующей системе?

Добавлено через 1 минуту
Цитата Сообщение от Puporev Посмотреть сообщение
В обсуждении задачи на сайте пишут
ага. и я там же прочитал...
но, на мой взгляд, в представленном тут решении всё верно - первое значение - это N - это высота, это число строк,
второе число - M - это ширина, это число столбцов.

Добавлено через 1 минуту
т.е. для input.txt 3 7
получаем такое поле:
Код
   1    2    3    4    5    6    7
  16   17   18   19   20   21    8
  15   14   13   12   11   10    9
но, возможно, что в системе тестирования это не так.
0
18.03.2020, 10:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2020, 10:14
Помогаю со студенческими работами здесь

Сколько съел Винни-Пух на 15-ый День Рождения
Винни-пух на свое день рождение ведает столько еды сколько съел на двух предыдущих на первых двух...

Определить, на сколько похудел Винни-Пух в фунтах и унициях
Винни-Пух похвастался Кролику, что похудел на M килограмм. Определить, на сколько похудел Винни-Пух...

Сколько меда Винни-Пух съест на N-м дне рождения, если на каждом следующем он съедает на 50г больше
Медвежонок Винни Пух на первом дне рождения, которое он посетил, съел 100 грамм меда, на втором -...

Винни-пух
Вини-Пух стоит на прямоугольном поле размером N*M клеток. В каждой клетке растет по одной ягоде. В...

Винни-пух и ритм в стихах
Изменить код Винни-Пух попросил вас посмотреть, есть ли в его стихах ритм. Поскольку разобраться...

Винни-Пух похвастался Кролику
Винни-Пух похвастался Кролику, что похудел на M килограмм. Определить, насколко похудел Винни-Пух в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru