Форум: "Игры";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];
ВнизАлгоритм вот надо :) Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c