---------------------------------------------------------------
OOOO OOOO OOOOO OOOO OOOO OOOOO OOOOO O O OOOOO
O O O O O O O O O O O OO O
O O O OOO O O O O OOOOO O O O OOO
O O O O O O O O O O O O O O
OOOO O O OOOOO OOOOOOO OOOO O OOOOO OO O OOOOO
ooooo ooooo oooo o o ooooo
o o o o o o o o
ooooo ooo o o oooo o
o o o o o o o
ooooo ooooo ooooooo oooo o
0 0 0000 0000 0000 00000 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 00
000 0 0 0 0 0 0 0000 000 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0000 0 0 0000 0000 0 0 00 0
, , ! ,
-,
-
, ,
.
, ! ,
. , ,
, . (
...)
-
. -, .
: ( - .) (
, - .). ( ...):
1. ,
. .
. .() .
. . .
.() . .
. .
. -
.
2. . . .
().
, . .
. . .
.
. ,
.
3. . , .
. .
( .). .
. ! .
. - . - .
( ).
. .
. . (
). . .
4. . . .
, . .
5. .
. -
. ,
. ( !)
.
6. - .
: .
.
, , ,
.
7. ! .
, .
( 7- ). ,
.
, :
( ) .
! ( ,
!).
. ,
, , .
.
. ,
. .
. . , .
. .
8. . .
. , . .
. ..
. .
.
: . ,
. .
9. . ().
.
( .)
. .
10.
. . ().
, . .
. .
.
11. . (
...). . :
+-- +------+
| | | |
| | +-+ |
+-+ \| +-+ |
| +---+ | +--+
| | O
+-------+
.
12. . .
. ,
.
. .
13. . :
. .
. .
. . . .
. .
.
.
14. ,
. ( !)
15. . .
. .
.
. . .
(). .
. .
. . .
. . .
. (?),
. .
.
, . ! !
+-------------------------------------------------------+
|, , : . |
+-------------------------------------------------------+
13-10-97 02:17:02
PS. -
-
2:5030/121.18 2:5030/546.17, .
---------------------------------------------------------------
Unauthorized publishing or any commercial use without author's sanction
is strongly prohibited!
All proposals and non-commercial use are welcome!
---------------------------------------------------------------
From: Nikolay Igotty (nike@mph.phys.spbu.ru)
Pilot Bros, .
- start, binary ,
- ,
(i- , j- ).
___________________________________________________________________
/* proggy to solve strongbox problem in Pilot Bros. game
written by nike
*/
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#define N_MAX 25
int i_a[N_MAX];
int j_a[N_MAX];
inline uint op(uint n, int i, int j){
int k;
uint mask;
mask = 0;
for (k=0; k<4; k++) {
mask |= 1 << (k + (j << 2));
mask |= 1 << ((k << 2) + i);
}
return (((0xFFFF ^ (n & mask)) & mask) | (n & (mask ^ 0xFFFF)));
}
int main(){
uint start, cur;
long int counter;
int i,j,step,s;
start = 63219;/* 1111011011110011 binary for the configuration like
1 1 0 0
1 1 1 1
0 1 1 0
1 1 1 1
here 1 means | state of trigger,
0 means - state of trigger
lock should open when it become 0000000000000000 :).
*/
/* start = 53103; */
for (counter = 0; counter < 500000000L; counter++){
cur = start;
printf ("%u\r",counter);
for (step=0; step < N_MAX; step++){
i = (int) ((3.0*rand()/(RAND_MAX+1.0)+0.1));
j = (int) ((3.0*rand()/(RAND_MAX+1.0)+0.1));
i_a[step] = i; j_a[step] = j;
if (!cur) {
printf("Done in %d steps after %ld attempts!\n\n", step,counter);
for (s=0; s<step; s++) printf ("i=%d j=%d\n",i_a[s],j_a[s]);
exit(0);
}
cur = op(cur,i,j);
}
}
printf ("\n\n Sorry , but I can\'t\n");
return 0;
}
Last-modified: Wed, 12 May 1999 05:59:58 GMT