Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Олимпиадные задачи с решениями на Turbo Pascal


Информационный Канал Subscribe.Ru


Олимпиадные задачи с решениями на Turbo Pascal #33

Подписчиков на 2002-11-02 - 4981 человек(а).

Рассылка проекта "Олимпиада.com.ru".


Главная Архив задач Конкурс Обучение Рассылки Форум Контакты

Здравствуйте, уважаемые подписчики!


  Наш форум переехал на новый сервер - guestbook.net.ru! Теперь, вроде бы, работает стабильно... Так что заходите, общайтесь! Уже добавлено много новых сообщений.


ЗАДАЧИ


Прямоугольники - 2 уровень


Условие:
На квадратном клечатом листе бумаги размером 100х100 клеток нарисовано несколько прямоугольников. Каждый прямоугольник состоит из целых клеток, различные прямоугольники не накладываются друг на друга и не соприкасаются.
Написать программу, которая считает число этих прямоугольников.

Техническое условие:
Ограничение по времени тестирования: по 1 секунде на один тест.

Формат входных данных:
Входной файл INPUT.TXT содержит массив 100х100, в котором элемент A[i,j]=1, если клетка [i,j] принадлежит какому-либо прямоугольнику, и A[i,j]=0, в противном случае.

Формат выходных данных:
В файл OUTPUT.TXT необходимо вывести единственное число - количество прямоугольников.

Решение:
---------- cut ----------
Задача легко решается путем следующих рассуждений: прямоугольников столько, сколько их северо-западных (верхних левых) углов. Особенное внимание следует обратить на случай, когда угол стоит у границы поля.
---------- cut ----------


var
  i,j,S:integer;
  A:array[0..100,0..100] of byte;

begin
  assign(input,'input.txt');
  reset(input);
  for i:=0 to 100 do
    for j:=0 to 100 do
      if (i=0) or (j=0) then A[i,j]:=0 else
      read(A[i,j]);
  S:=0;
  for i:=1 to 100 do
    for j:=1 to 100 do
      if (A[i,j]=1) and (A[i-1,j]+A[i,j-1]=0) then s:=s+1;
  assign(output,'output.txt');
  rewrite(output);
  write(S);
end.


Реклама в рассылке:

RLE    

  


Подпишитесь на наши рассылки:

Новости проекта "Олимпиада.com.ru" [Алексей Шамис]
Новости проекта "Olimpiada.com.ru". Новые темы на форуме. Информация о пополнениях в архиве задач. Оперативно и своевременно!

Уроки программирования на Turbo Pascal [Татьяна Ганилова]
Хотите стать Великим Программистом? Начните свой путь к вершине славы с изучения языка Turbo Pascal. Он как нельзя лучше подходит для начинающих программистов и в то же время используется для разработки сложных "профессиональных" программ.

Олимпиадные задачи с решениями на Turbo Pascal [Алексей Шамис]
В рассылке публикуются решения интересных олимпиадных задач различного уровня. Содержит много теоретической информации. Периодичность - 2-3 раза в неделю.

Задача в неделю. Олимпиадные задачи по информатике [Александр Алексеев]
Каждый понедельник в рассылке публикуется задача, которую необходимо решить и в следующий понедельник прислать программу на тестирование. Решения проверяются, и в пятницу публикуется разбор и итоги тестирования.



Всегда рады видеть Вас на нашем сайте.

Copyright © 2001-2002 by Aleksey Shamis.



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное