|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.11.2008, 18:03 | #1 |
Регистрация: 03.11.2008
Сообщений: 4
|
шахматная доска
Помогите пожалуйста с решением задачки, очень нужно....
Заранее спасибо Шахматная доска Максимальное время работы на одном тесте:1 секунда Максимальный объем используемой памяти:64 мегабайта Из шахматной доски по границам клеток выпилили связную (не распадающуюся на части) фигуру без дыр. Требуется определить ее периметр. Формат входных данных Сначала вводится число N (1 ≤ N ≤ 64) – количество выпиленных клеток. В следующих N строках вводятся координаты выпиленных клеток, разделенные пробелом (номер строки и столбца – числа от 1 до 8). Каждая выпиленная клетка указывается один раз. Формат выходных данных Выведите одно число – периметр выпиленной фигуры (сторона клетки равна единице). Последний раз редактировалось Irisha_17_85; 03.11.2008 в 18:09. Причина: изменение данных |
03.11.2008, 21:02 | #2 |
Пользователь
Регистрация: 24.10.2008
Сообщений: 32
|
и ти думаешь что если тебе решат олимпиаду то тебе станет лучше?
посмотри лучше как работает команда из Украины zuta! я не думаю что она постоянно занимает 1 места потому что просит на форуме решить задачу! учись! чем больше работаешь чем легче в дальнейшем!
___________________________________ ____________
ВОН ВЫГНАТЬ ПРОКЛЯТЫХ СПАММЕРОВ! |
04.11.2008, 08:43 | #3 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
type el=0..1;
var a:array[0..9,0..9] of el; N,S,i,x,y:integer; inp,outp:text; begin assign(inp,'input.txt'); reset(inp); assign(outp,'output.txt'); rewrite(outp); readln(inp,N); for i:=1 to N do begin readln(inp,x,y); a[x,y]:=1; end; S:=N*4; for x:=1 to 8 do for y:=1 to 8 do if a[x,y]=1 then begin if a[x-1,y]=1 then dec(S); if a[x+1,y]=1 then dec(S); if a[x,y-1]=1 then dec(S); if a[x,y+1]=1 then dec(S); end; writeln(outp,S); close(outp); end.
Надо бы избавиться от привычки ставить многоточие.....
|
04.11.2008, 08:47 | #4 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
принцип такой....... записываем в матрицу...... Периметр делаем равным колл-во*4....... затем для каждой ненулевой клетки считаем кол-во смежных ненулевых клеток и отнимаем его от общего периметра.
Надо бы избавиться от привычки ставить многоточие.....
|
04.11.2008, 10:50 | #5 |
Регистрация: 03.11.2008
Сообщений: 4
|
Спасибо огромное!!!
Вы очень помогли! Надо повышать мне свои знания...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Доска объявлений | solomusic | PHP | 1 | 05.08.2008 18:57 |
С++:Квадратная матрица и шахматная проблема.. | Andres | Помощь студентам | 7 | 02.01.2008 21:06 |