Показать сообщение отдельно

  #8  
Старый 28.11.2007, 13:50
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

2spider-intruder естественно сумма фигур имеется ввиду, потому что не было введено понятия цены слона и ладьи.
по теме - не вижу ничего сложного. сложность правда будет не просто оценить, потому что сразу сказать сколько вариантов лишних отметает одна фигура не ясно. с другой стороны тк задача расчитана на первокурсников все должно сводиться к "бездумному" перебору, вот примерный псевдокод:
Код:
int pole[8][8];
int pole_temp[8][8];
...
int sum(int num)
{
  int i,j;
  int max=0;

  //bool ok=false;
  for(i=0;i<8;i++)
   for(j=0;j<8;j++)
     if(pole[i][j]==0)
     {
      ok=true;
      memcpy(&pole_temp[0][0], &pole[0][0], sizeof(pole));
      put(i,j,type);
      int s1=sum(num+1);
      memcpy(&pole[0][0], &pole_temp[0][0], sizeof(pole));
      put(i,j,Obratnyi(type)));
      int s2=sum(num+1);
      memcpy(&pole[0][0], &pole_temp[0][0], sizeof(pole));
      if(s2>s1) s1=s2;
      if(max<s1) max=s1;
     }

  //if(!ok) return 0;
  return num+max;
}
...
sum(0);
--
put - ставим фигуру и обозначаем клетки, что под "боем", например -1. Obratnyi - если слон, то ладья и наоборот.
--
2spider-intruder это первый курс, не думайте что от вашего "колледжа" или чего там, от вас потребуют сильных мозгов. и еще, можно ставить ближе чем на две клетки, пример:
*SSSSSSS
********
********
********
********
********
********
*SSSSSSS

S - слоны)

Последний раз редактировалось ZaCo; 28.11.2007 в 14:01..
 
Ответить с цитированием