Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.10;
Скачать: CL | DM;

Вниз

Алгоритм вот надо :)   Найти похожие ветки 

 
X-shadow ©   (2003-07-30 20:56) [0]

есть шахмотная доска
8/8
из нее выбивают клетки
нужно узнать на сколько частей она развалится при этом
ну допустим ты выбил в середине 2 клетки то она не развалися.а если допустим вокруг угла то развалится на 2
нужно вычислить алгоритм


 
jack128 ©   (2003-07-30 21:09) [1]

ищешь рядом с вибитой ячейкой другие выбитые, рябом с эти ячейками другие и так далее...если в конце концов найдешь 2 ячейки у края или наткнешься на ячейку каторую уже тестил, то расколится..
Поищи реализацию волнового алгоритма - это он! в данном случаи доступный путь - это путь по выбирым ячейкам(клеткам)


 
Leran2003   (2003-07-30 21:29) [2]

Проще будет сделать так (просматривать по невыбитым)...

Матрица 8х8 из целых чисел: 1-нормальная ячейка, 0-выбитая

Count=0

1) Ищем первую невыбитую ячейку, рекурсивно находим все соседние с нею невыбитые ячейки, присваиваем им 2... От соседних невыбитых тоже самое, таким образом мы покроем один блок... Count++;

2) Ищем следующую невыбитую ячейку (которая=1), рекурсивно находим все соседние с нею невыбитые ячейки, присваиваем им 2... От соседних невыбитых тоже самое, таким образом мы покроем еще один блок... Count++;

Если нет ячеек=1 то WriteLn(Count); END.
Иначе Goto 2;


 
X-shadow ©   (2003-07-31 20:47) [3]

double f(double base, unsigned exponent)
{
if (exponent==1) return base;
unsigned t=exponent>>1;
double z=f(base*base,t);
if (exponent & 1) z*=base;
return z;
}

void main()
{
double x=1.000000007;
unsigned y=4293656784;
printf("%f\n",f(x,y));
}


 
ЮЮ ©   (2003-08-01 05:07) [4]

Рекурсивно возводить в степень ? Умножение в столбик :-)
Оснокомься с функцией Power!
x^y = exp(y*ln(x))



Страницы: 1 вся ветка

Текущий архив: 2004.02.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
1-29345
Unax
2004-01-29 01:24
2004.02.10
MDI приложение


1-29313
alexnmsk
2004-01-30 09:46
2004.02.10
Иммитация нажатия клавиш


1-29334
Erik
2004-01-29 17:41
2004.02.10
Как мне написать процедуру Move для разных типов?


1-29442
Grinder
2004-01-30 22:31
2004.02.10
как определить находится ли курсор над формой или нет?


14-29523
Dimman1
2004-01-22 10:13
2004.02.10
IRC не работает через прокси