Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Dana je igralna deska velikosti 3x3, vsako polje je bodisi črne bodisi bele barve. Posamezna poteza je sestavljena iz pritiska na eno polje, povzroči pa spremembo barve pritisnjenega polja in temu polju sosednjih polj (sosedi so levo, desno, gor in dol, ne pa tudi po diagonalah).
- Primer ob pritisku srednjega polja v desnem stolpcu:
- 0X0 0XX
- 00X -> 0X0
- X0X X00
- Napišite program, ki ugotovi, ali lahko iz poljubne začetne deske z nekim zaporedjem pritiskov dosežemo povsem belo desko.
- Primer:
- 00X XX0 000
- XX0 -> X00 -> 000
- 000 000 000
- Pri tem lahko uporabite macro B9, ki v izvorni datoteki omogočca zapis 9-bitnih števil v dvojiškem zapisu.
- Primer:
- B9(010010000) pomeni 144
- #define HEX__(n) 0x##n##ul
- #define B9__(x) \
- ((x&0x00000000Flu)? 1:0)+ \
- ((x&0x0000000F0lu)? 2:0)+ \
- ((x&0x000000F00lu)? 4:0)+ \
- ((x&0x00000F000lu)? 8:0)+ \
- ((x&0x0000F0000lu)? 16:0)+ \
- ((x&0x000F00000lu)? 32:0)+ \
- ((x&0x00F000000lu)? 64:0)+ \
- ((x&0x0F0000000lu)?128:0)+ \
- ((x&0xF00000000lu)?256:0)
- #define B9(d) \
- ((long unsigned int)(B9__(HEX__(d))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement