Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2018, 15:35   #1
Артем Ветик
Пользователь
 
Регистрация: 20.07.2016
Сообщений: 18
По умолчанию Задача 1255 - Кладбище Уральской мафии (прямоугольники на квадратном поле). Почему неправильное решение?

На седьмом тесте неверный ответ, не пойму почему.


var n,k,res:integer;

begin
res:=0;
readln(n,k);

if (n >= k) then begin
res:= res + (n div k * n) + (n mod k * n div k);
end;

writeln(res);
end.
Изображения
Тип файла: png задача.png (46.9 Кб, 116 просмотров)
Артем Ветик вне форума Ответить с цитированием
Старый 14.06.2018, 15:57   #2
4inoy
 
Регистрация: 14.06.2018
Сообщений: 4
По умолчанию

res:=0; {нечего не смущает}
4inoy вне форума Ответить с цитированием
Старый 14.06.2018, 16:35   #3
Артем Ветик
Пользователь
 
Регистрация: 20.07.2016
Сообщений: 18
По умолчанию

всмысле?
Артем Ветик вне форума Ответить с цитированием
Старый 14.06.2018, 17:24   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Артем Ветик Посмотреть сообщение
всмысле?
не обращайте внимания.

Вот контрпример к вашему коду.

Скажите, если поле размером n=5, а прямоугольник k=3
то какой ответ должен быть?
и попробуйте нарисовать поле и посчитать, сколько там помещается прямоугольников.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.06.2018, 17:29   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

попробуйте такой код:
Код:
var n,k,res:integer;

begin
  res:=0;
  readln(n,k);
  if (n >= k) then 
     res:= res + ((n div k) * n) + ((n mod k) * (n div k));
  writeln(res);
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.06.2018, 17:48   #6
Артем Ветик
Пользователь
 
Регистрация: 20.07.2016
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
попробуйте такой код:
Код:
var n,k,res:integer;

begin
  res:=0;
  readln(n,k);
  if (n >= k) then 
     res:= res + ((n div k) * n) + ((n mod k) * (n div k));
  writeln(res);
end.
Про скобки я и не подумал! Но почему-то всё-равно решение неверно...
Изображения
Тип файла: png 1.png (26.0 Кб, 92 просмотров)
Тип файла: png Безымянный.png (9.5 Кб, 127 просмотров)
Артем Ветик вне форума Ответить с цитированием
Старый 14.06.2018, 18:25   #7
Артем Ветик
Пользователь
 
Регистрация: 20.07.2016
Сообщений: 18
По умолчанию

Вот ссылка на задачу: http://acm.timus.ru/problem.aspx?space=1&num=1255
Артем Ветик вне форума Ответить с цитированием
Старый 14.06.2018, 19:00   #8
Артем Ветик
Пользователь
 
Регистрация: 20.07.2016
Сообщений: 18
По умолчанию

Понял в чем проблема. Есть случаи, когда нужно размещать прямоугольники не в обычном порядке. Например, при входных данных 8 5 будет выведено 11, хотя правильным ответом будет 12.
1 1 1 2 2 2 2 2 | 1 1 1 1 1 2 2 2
1 1 1 2 2 2 2 2 | 1 1 1 1 1 2 2 2
1 1 1 2 2 2 2 2 | 1 1 1 1 1 2 2 2
1 1 1 x x 3 3 3 | 1 1 1 1 1 2 2 2
1 1 1 x x 3 3 3 | 1 1 1 1 1 2 2 2
4 4 4 4 4 3 3 3 | 1 1 1 1 1 х х х
4 4 4 4 4 3 3 3 | 1 1 1 1 1 х х х
4 4 4 4 4 3 3 3 | 1 1 1 1 1 х х х

Верное расположение | Неверное расположение

Последний раз редактировалось Артем Ветик; 14.06.2018 в 19:04.
Артем Ветик вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно решение, если поле в БД пустое то ничего не выводить nikolokaputik80 PHP 2 03.03.2017 19:09
Почему жалуется на неправильное описание процедуры? zaira001002 Общие вопросы Delphi 3 17.09.2015 18:01
Прямоугольники - задача с javacoders.ru Mega4alik Общие вопросы по Java, Java SE, Kotlin 3 07.01.2012 17:38
задача на прямоугольники ubun Помощь студентам 8 01.12.2011 23:05
Почему Access 2007 воспринимает поле как параметр? Сергей089 Microsoft Office Access 1 12.11.2010 21:15