Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 14.06.2018, 16:35   #1
Артем Ветик
Пользователь
 
Регистрация: 21.07.2016
Адрес: Город на Неве
Сообщений: 18
Репутация: 20
По умолчанию Задача 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 Кб, 2 просмотров)
Артем Ветик вне форума   Ответить с цитированием
Старый 14.06.2018, 16:57   #2
4inoy
Новичок
 
Регистрация: 14.06.2018
Сообщений: 4
Репутация: 10
По умолчанию

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

всмысле?
Артем Ветик вне форума   Ответить с цитированием
Старый 14.06.2018, 18:24   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 23,890
Репутация: 5228
По умолчанию

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

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

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

попробуйте такой код:
Код:

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, 18:48   #6
Артем Ветик
Пользователь
 
Регистрация: 21.07.2016
Адрес: Город на Неве
Сообщений: 18
Репутация: 20
По умолчанию

Цитата:
Сообщение от 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 Кб, 49 просмотров)
Тип файла: png Безымянный.png (9.5 Кб, 2 просмотров)
Артем Ветик вне форума   Ответить с цитированием
Старый 14.06.2018, 19:25   #7
Артем Ветик
Пользователь
 
Регистрация: 21.07.2016
Адрес: Город на Неве
Сообщений: 18
Репутация: 20
По умолчанию

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

Понял в чем проблема. Есть случаи, когда нужно размещать прямоугольники не в обычном порядке. Например, при входных данных 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 в 20:04.
Артем Ветик вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно решение, если поле в БД пустое то ничего не выводить nikolokaputik80 PHP 2 03.03.2017 20:09
Почему жалуется на неправильное описание процедуры? zaira001002 Общие вопросы Delphi 3 17.09.2015 19: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 22:15


14:49.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru