[Архив!] Чистая математика, физика, химия и т.п.: задачки для тренировки мозгов, никак не связанные с торговлей - страница 586

 
Aleksander:
слоник из пешки сделался?
Это единственный ход, при котором предыдущая позиция не является невозможной
 
alsu:

В реальности я бы сделал в один проход с копией, но сразу бы ее заранее двойками не заполнял, а только серединку (остаток), когда проход уже завершен

Получаем N операций чтения, N операций записи и 1 операцию выделения памяти. Меньше уже вряд ли придумаю))

ps еще N операций инкремента счетчика))


Мне кажется в два прохода будет быстрее. Ни одного if!

void Sort123(int & a[]){
   int c[4];
   ArrayInitialize(c,0);
   int s=ArraySize(a);
      for(int i=0;i<s;i++){
         c[a[i]]++;
      }
      for(i=0;i<c[1];i++){
         a[i]=1;
      }
   c[2]+=c[1];
      for(i=c[1];i<c[2];i++){
         a[i]=2;
      }
      for(i=c[2];i<s;i++){
         a[i]=3;
      }
}
 
alsu:
Это единственный ход, при котором предыдущая позиция не является невозможной

Не единственный. Вижу три варианта:

- слоник из пешки по вертикали (пешка не съела ничего при превращении)

- слоник по диагонали (пешка съела что-то на 8-й горизонтали)

- ферзец из пешки по диагонали (тоже что-то сожрамши на 8-й).

P.S. А я вначале видел только вариант с ходом белого короля. Но мне указали, что там тогда должен был быть двойной шах.

 
Так сколько будет:
A+B=...
 
Mathemat:

Черные сдались, но каким был последний ход белых?


Итак, мы определились, что последним ходом белых явно было превращение пешки в фигуру, т.е. перед этим ходом белые имели пешку на одном из полей a7 или b7. Нетрудно посчитать, что в обоих случаях эта пешка (она изначально могла находиться только на поле f2) совершает за время игры ровно 5 взятий. Далее, отметим, что пешки, стоящие на полях a3,b4,c5 также имели в сумме 5 взятий. Итого, имеем 10 взятий черных фигур. У черных сейчас на доске 6 фигур, следовательно, все 10 рассмотренных выше взятий производились именно белыми пешками.

Однако на поле f8 отсутствует черный слон, который при черных пешках на e7 и g7 не мог быть взят белой пешкой, равно как не мог покинуть своего поля. Следовательно, черный слон был взят не пешкой, а фигурой. Таким образом, мы пришли к противоречию, откуда следует ответ: данная позиция является невозможной и не могла возникнуть по правилам шахмат.

 
Mathemat:

Не единственный. Вижу три варианта:

- слоник из пешки по вертикали (пешка не съела ничего при превращении)

- слоник по диагонали (пешка съела что-то на 8-й горизонтали)

- ферзец из пешки по диагонали (тоже что-то сожрамши на 8-й).

P.S. А я вначале видел только вариант с ходом белого короля. Но мне указали, что там тогда должен был быть двойной шах.

единственно правильный вариант
 
это если пешка в слона превратилась... но так как такое невозможно было - ты это доказал... значит последний ход не пешкой... а выходит - королём белым тогда... и вероятно с Ф3-Г3
 
Aleksander:
это если пешка в слона превратилась... но так как такое невозможно было - ты это доказал... значит последний ход не пешкой... а выходит - королём белым тогда... и вероятно с Ф3-Г3
Это тоже невозможно: тогда на поле f3 король находился под шахом от ферзя и ладьи, причем вскрытого шаха быть не могло, т.к. ферзь и ладья атакуют через разные поля.
 
alsu:

Итак, мы определились, что последним ходом белых явно было превращение пешки в фигуру,

Посыл неверен ;)

Для превращения действительно не хватает пешек


Europa:
единственно правильный вариант
увы, тоже не хватает пешек
 
Europa:
единственно правильный вариант
постом выше объясняется, почему любой вариант с пешкой не проходит
Причина обращения: