
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ
рдХрдИ рдкрд░ -
рдХрдИ -
рдХрдИ рдмрд╛рд░ рдЦреЗрд▓ "рдЬреАрд╡рди" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ред рдЕрднреА рд╣рд╛рд▓ рд╣реА рдореЗрдВ,
рд▓реЛрдмрд╛рдЪреЗрд╡реНрд╕реНрдХреА рд╡рд┐рдорд╛рди рдкрд░ рдПрдХ рдЕрджреНрднреБрдд рд▓реЗрдЦ
Life рдерд╛ ред рд▓реЗрдХрд┐рди рдЦреЗрд▓ "рдЬреАрд╡рди" рддрдерд╛рдХрдерд┐рдд рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рд╣реИред
рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрд╛ ред рдХрдИ рдЕрдиреНрдп рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрд╛ рд╣реИрдВ рдЬреЛ рд▓рд╛рдЗрдл рдЧреЗрдо рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВред рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╢реВрдиреНрдп рд╣реЛрддреЗ рд╣реИрдВ:
... 0 1 0 0 0 0 0 0 ...
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдпреЛрдЧ рдХреЗ рд╕рд╛рде рд╕реЗрд▓ рдореЗрдВ рдирдВрдмрд░ рдХреЛ рдмрджрд▓реЗрдВ рдФрд░ рдмрд╛рдИрдВ рдУрд░ рдкрдбрд╝реЛрд╕реАред рд╣рдо рд░рд╛рдЬреНрдпреЛрдВ рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
... 0 1 0 0 0 0 0 0 ...
... 0 1 1 0 0 0 0 0 ...
... 0 1 2 1 0 0 0 0 ...
... 0 1 3 3 1 0 0 0 ...
... 0 1 4 6 4 1 0 0 ...
... 0 1 5 10 10 5 1 0 ...
... 0 1 6 15 20 15 6 1 ...
рдпрд╣ рджреЗрдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╛рд╕реНрдХрд▓ рдХрд╛ рддреНрд░рд┐рдХреЛрдг рд╣реИред рдФрд░ рдЕрдм, рд╕рд╛рдорд╛рдиреНрдп рдЬреЛрдбрд╝ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЬреЛрдбрд╝ рдореЛрдбреБрд▓реЛ рджреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ (рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ рд╕реНрд░рд╛рд╕реНрдЯрд┐рдВрд╕реНрдХреА рдЯреНрд░рд╛рдЗрдВрдЧрд▓
рдФрд░ рдкрд╛рд╕реНрдХрд▓ рдЯреНрд░рд╛рдпрдВрдЧрд▓ ) рдЬрд┐рд╕рдореЗрдВ рд╣рдореЗрдВ рд╕реАрд░рдкрд┐рдиреНрд╕реНрдХреА
рддреНрд░рд┐рдХреЛрдг рдХрд╛ рдЕрд╕рддрдд рдПрдирд╛рд▓реЙрдЧ рдорд┐рд▓рддрд╛ рд╣реИ:

... 0 1 0 0 0 0 0 0 ...
... 0 1 1 0 0 0 0 0 ...
... 0 1 0 1 0 0 0 0 ...
... 0 1 1 1 1 0 0 0 ...
... 0 1 0 0 0 1 1 0 0 ...
... 0 1 1 0 0 1 1 0 ...
... 0 1 0 1 0 0 1 0 1 ...
рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ? рдкрд░ рдкрдврд╝реЗрдВ!
рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрди рдХреА рд╕рдЯреАрдХ рдкрд░рд┐рднрд╛рд╖рд╛ рджреЗрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрд╛ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреБрдгреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ:
рд╕рдорд╛рдирддрд╛ ,
рд╕реНрдерд╛рдиреАрдпрддрд╛ рдФрд░
рд╕рдорд░реВрдкрддрд╛ ред рд╕рдорд╛рдирд╛рдВрддрд░рд╡рд╛рдж рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕рднреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдЕрдкрдбреЗрдЯ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╣реЛрддреЗ рд╣реИрдВред рд╕реНрдерд╛рдиреАрдпрддрд╛ рд╕реЗ рдЕрднрд┐рдкреНрд░рд╛рдп рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрд╢рд┐рдХрд╛ рдХреА рдирдИ рдЕрд╡рд╕реНрдерд╛ рдХреЗрд╡рд▓ рдХреЛрд╢рд┐рдХрд╛ рдХреА рдкреБрд░рд╛рдиреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдЙрд╕рдХреЗ рдкрд░рд┐рд╡реЗрд╢ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдФрд░ рдЕрдВрдд рдореЗрдВ, рдПрдХрд░реВрдкрддрд╛ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рднреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╕рдорд╛рди рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЕрдирдВрдд рдЧреНрд░рд┐рдб рдХреЗ рд╕рд╛рде рдЧрдбрд╝рдмрдбрд╝ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрд╛ рдХреЛ рдПрдХ рдкрд░рд┐рдорд┐рдд рдЪрддреБрд╖реНрдХреЛрдгреАрдп рдЧреНрд░рд┐рдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рддрд╛рдХрд┐ рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рди рд╣реЛ, рд╣рдо рдЧреНрд░рд┐рдб рдХреЛ рдПрдХ рдЯреЛрд░рд╕ рдореЗрдВ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВред рд╕реЗрд▓ рдХреЗ рджреЛ рдкрдбрд╝реЛрд╕реЛрдВ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдирд╛рдо рд╣реИрдВ: рдпрд╣
рдореВрд░ рдХрд╛ рдкрдбрд╝реЛрд╕ рд╣реИ - рдЖрд╕рдкрд╛рд╕ рдХреЗ рд╕рднреА рдЖрда рд╕реЗрд▓ рдкрдбрд╝реЛрд╕реА рд╣реИрдВ, рдФрд░
рд╡реЙрди рдиреНрдпреВрдореИрди рдХреЗ рдкрдбрд╝реЛрд╕ - рдХреЗрд╡рд▓ рдмрд╛рдИрдВ рдУрд░, рджрд╛рдИрдВ рдУрд░, рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рдХреЗ рдирд┐рдХрдЯрддрдо рд╕реЗрд▓ рдкрдбрд╝реЛрд╕реА рд╣реИрдВред рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реЗрд▓ рдХреЗ рд░рд╛рдЬреНрдп рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдо рдХреЗ рдореМрдЦрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреА рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
int transformCell( int northWestCell, int northCell, int northEastCell, int westCell, int centerCell, int eastCell, int southWestCell, int southCell, int southEastCell);
рд╕реАрдорд┐рдд рдФрд░ рдЕрд╕реАрдорд┐рдд рд╡реГрджреНрдзрд┐
рддреЛ, рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рджреЛ рд░рд╛рдЬреНрдпреЛрдВ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: 0 - рдореГрдд, рдФрд░ 1 - рдЬреАрд╡рд┐рддред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ: рдпрджрд┐ рдХреЛрдИ рд╕реЗрд▓ рдЕрдкрдиреЗ рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЬреАрд╡рд┐рдд рд╣реИ, рддреЛ рд╡рд╣ рдЬреАрд╡рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ; рдПрдХ рдмрд╛рд░ рдПрдХ рдХреЛрд╢рд┐рдХрд╛ рдЬреАрд╡рд┐рдд рд╣реЛ рдЧрдИ рд╣реИ, рдпрд╣ рд╣рдореЗрд╢рд╛ рдЬреАрд╡рд┐рдд рд░рд╣рддреА рд╣реИред рдореВрд░ рдХреЗ рдкрдбрд╝реЛрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ,
transformCell()
рдХреА рдмреЙрдбреА рд╣реЛрдЧреА:
int sum = northWestCell + northCell + northEastCell + westCell + eastCell + southWestCell + southCell + southEastCell; if (sum > 0) { return 1; } else { return centerCell; }
рдпрджрд┐ рдлрд╝реАрд▓реНрдб рдХреЛ рд╢реБрд░реВ рдореЗрдВ рд╢реВрдиреНрдп рд╕реЗ рднрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЬреАрд╡рд┐рдд рдХреЛрд╢рд┐рдХрд╛рдПрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдВрдЧреА, рд▓реЗрдХрд┐рди рдпрджрд┐ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЬреАрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЬреАрд╡рд┐рдд рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдПрдХ рдмрдврд╝рддрд╛ рд╡рд░реНрдЧ рдЗрд╕ "рднреНрд░реВрдг" рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧрд╛, рдЬреЛ рдЕрдВрддрддрдГ рдХреНрд╖реЗрддреНрд░ рдХреЛ рднрд░ рджреЗрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬреАрд╡рд┐рдд рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдХреНрд╖реЗрддреНрд░ рдЙрдЪреНрдЪрддрдо рд╕рдВрднрд╡ рдЧрддрд┐ рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИ - рдкреНрд░рдХрд╛рд╢ рдХреА рдЧрддрд┐ред



рд╣рдо рдКрдкрд░ рджрд┐рдП рдЧрдП рдирд┐рдпрдо рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ: рдЗрд╕ рд╢рд░реНрдд рдХреЗ рдмрдЬрд╛рдп "рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЬреАрд╡рд┐рдд рд╣реИ", рд╣рдо рдЗрд╕ рд╢рд░реНрдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ "рдкрдбрд╝реЛрд╕реА рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ рдЬреАрд╡рд┐рдд рд╣реИ"ред
int sum = northWestCell + northCell + northEastCell + westCell + eastCell + southWestCell + southCell + southEastCell; if (sum == 1) { return 1; } else { return centerCell; }
рдПрдХ рд╕реЗрд▓ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╕рдВрд░рдЪрдирд╛, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдмрд╣реБрдд рджреБрд░реНрд▓рдн, рдФрд░, рджреВрд╕рд░реА рдмрд╛рдд, рдПрдХ рд╕реНрдкрд╖реНрдЯ рднрдЧреНрди рдЪрд░рд┐рддреНрд░ рд╣реЛрдЧреАред



рдореВрд░ рдкрдбрд╝реЛрд╕ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рд╡реЙрди рдиреНрдпреВрдореИрди рдкрдбрд╝реЛрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
int sum = northCell + westCell + eastCell + southCell; if (sum == 1) { return 1; } else { return centerCell; }



рдЪрдХреНрд░реАрдп рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрд╛
рдбреЗрд╡рд┐рдб рдЧреНрд░рд┐рдлрд┐рде рджреНрд╡рд╛рд░рд╛ рдЪрдХреНрд░реАрдп рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрд╛ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рд╕реЗрд▓
n рдЕрд╡рд╕реНрдерд╛рдУрдВ рдореЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рд╕рдВрдЦреНрдпрд╛рдУрдВ 0, 1, ...,
n - 1. рджреНрд╡рд╛рд░рд╛ рдХрд╣реЗрдВрдЧреЗред рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд░рд╛рдЬреНрдп
m рд░рд╛рдЬреНрдп
k рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╣реИ рдпрджрд┐
m + 1 =
k (mod
n )ред рд░рд╛рдЬреНрдп
рдПрдо рд╕реЗ рдПрдХ рд╕реЗрд▓ рдЕрдЧрд▓реЗ рд░рд╛рдЬреНрдп рдХреЗ рдкрд╛рд╕ рдЬрд╛рддрд╛ рд╣реИ рдХреЗрд╡рд▓ рддрднреА рдкрдбрд╝реЛрд╕реА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд░рд╛рдЬреНрдп
рдХреЗ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡реЙрди рдиреНрдпреВрдореИрди рдкрдбрд╝реЛрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд░рд┐рд╡рд░реНрддрди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ:
int nextState = (centerCell + 1) % statesNumber; if (northCell == nextState || westCell == nextState || eastCell == nextState || southCell == nextState) { return nextState; } else { return centerCell; }
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдПрдХ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рднрд░реЗ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд░рдгреЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд╣рд▓рд╛ рдЪрд░рдг рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХреНрд╖реЗрддреНрд░ рд╣реИред рдлрд┐рд░ рд░рдВрдЧреАрди рдХреНрд╖реЗрддреНрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рднрд░реЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЕрд╡рд╢реЛрд╖рд┐рдд рдХрд░реЗрдВрдЧреЗред рдпреЗ рдмреНрд▓реЙрдХ рдЕрдкрдирд╛ рд░рдВрдЧ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП "рд▓рд╣рд░" рдХрд░реЗрдВрдЧреЗред рдлрд┐рд░ рд╕рд░реНрдкрд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ
рджрд╛рдирд╡ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛
рд╣реИ ред рдФрд░ рдЕрдВрдд рдореЗрдВ, рддреАрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ, рдореИрджрд╛рди рд░рд╛рдХреНрд╖рд╕реЛрдВ рджреНрд╡рд╛рд░рд╛ рднрд╕реНрдо рд╣реЛ рдЬрд╛рдПрдЧрд╛ред




рдЖрдк рдПрдХ рдЖрдпрд╛рдореА рдЪрдХреНрд░реАрдп рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЛрдмреЛрди рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
int transformCell(int leftCell, int centerCell, int rightCell) { int nextState = (centerCell + 1) % statesNumber; if (nextState == leftCell || nextState == rightCell) { return nextState; } else { return centerCell; } }


рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рд╕реАрдЦрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛
рдЪрдХреНрд░реАрдп рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрди рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
рд╣реИрд╢
рд╕реЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ 0, 1, ...,
n - 1 рд░рд╛рдЬреНрдпреЛрдВ рдореЗрдВ рд╣реЛрдиреЗ рджреЗрдВред
рддреАрди-рднрд╛рдЧ рдирд┐рдпрдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рд╕реНрд╡рд╛рд╕реНрдереНрдпред рдпрджрд┐ рдХреЛрдИ рдХреЛрд╢рд┐рдХрд╛ 0 (рдпрд╛рдиреА, рд╕реНрд╡рд╕реНрде) рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рд╣реИ, рддреЛ рдпрд╣ рдмреАрдорд╛рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЕрдЧрд░ рдЙрд╕рдХреЗ рдХрдИ рдкрдбрд╝реЛрд╕реА рдмреАрдорд╛рд░ рд╣реИрдВ (рдпрд╛рдиреА, рдПрдХ рд╢реВрдиреНрдп-рд╢реВрдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИрдВ)ред
рд╡рд╕реВрд▓реА ред рдпрджрд┐ рд╕реЗрд▓ рд░рд╛рдЬреНрдп
n - 1 рдореЗрдВ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрд╡-рдЙрдкрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░рд╛рдЬреНрдп 0 рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИред
рд░реЛрдЧ ред рдЕрдиреНрдпрдерд╛, рдХреЛрд╢рд┐рдХрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЧрдгрдирд╛ рдкрдбрд╝реЛрд╕реА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдФрд╕рдд рдФрд░ рдХреБрдЫ рд╕реНрдерд┐рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИред (рдпрджрд┐ рдкрд░рд┐рдгрд╛рдореА рд╕рдВрдЦреНрдпрд╛
n - 1 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдирдпрд╛ рд░рд╛рдЬреНрдп
n - 1. рд╣реЛрдЧрд╛)
int sum = northWestCell + northCell + northEastCell + westCell + eastCell + southWestCell + southCell + southEastCell; if (centerCell == 0) { if (sum < 5) { return 0; } else if (sum < 100) { return 2; } else { return 3; } } else if (centerCell == statesNumber - 1) { return 0; } else { return Math.min(sum / 8 + 5, statesNumber - 1); }


рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рддрд░рдВрдЧ рдЬреИрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ
рдмреЗрд▓реМрд╕реЛрд╡-рдЬрд╝рдмреЛрдЯрд┐рдиреНрд╕реНрдХреА рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдорд┐рд▓рддреА рдЬреБрд▓рддреА рд╣реИрдВред
рд╢рд┐рд░рд╛рдУрдВ рдХреА рд╕рддрд╣
рдпрд╣ рдирд┐рдпрдо (рдФрд░ рд╕рд╛рде рд╣реА рдкрд┐рдЫрд▓реЗ рдПрдХ) рдореБрдЭреЗ
рд╕реЗрд▓рдм рдореИрдиреБрдЕрд▓ рдореЗрдВ рдорд┐рд▓рд╛ред рдкреНрд░рддреНрдпреЗрдХ рдХреЛрд╢рд┐рдХрд╛ рд░рд╛рдЬреНрдп рдореЗрдВ 0, 1, 2 рдпрд╛ 4 рд╣реИред рдирд┐рдпрдо рдХрд╛ рд░реВрдк рд╣реИ:
if (centerCell == 0) { return 2 * ((northWestCell % 2) ^ (northEastCell % 2)) + northCell % 2; } else if (centerCell == 1) { return 2 * ((northWestCell % 2) ^ (southWestCell % 2)) + westCell % 2; } else if (centerCell == 2) { return 2 * ((southWestCell % 2) ^ (southEastCell % 2)) + southCell % 2; } else { return 2 * ((southEastCell % 2) ^ (northEastCell % 2)) + eastCell % 2; }
рдпрджрд┐ рдЖрдк рдПрдХ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рднрд░реЗ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рджреЛ "рдкреНрд░рд╡рд╛рд╣" рдПрдХ рджреВрд╕рд░реЗ рдореЗрдВ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ: рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдФрд░ рдХреНрд╖реИрддрд┐рдЬред рдХреБрдЫ рд╕рдордп рдмрд╛рдж, "рдкреНрд░рд╡рд╛рд╣" рдореЗрдВ рд╕реЗ рдПрдХ рдкреНрд░рдмрд▓ рд╣реЛрдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЕрдВрдд рдореЗрдВ, рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд░рд╣рддрд╛ рд╣реИред




рдпрд╣ рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрд╛ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд░реЛрдХрдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рд▓реЗрдЦ рдмрд╣реБрдд рдмрдбрд╝рд╛ рди рд╣реЛ рдЬрд╛рдПред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХреБрдЫ рд▓рд┐рдВрдХ рджреЗрдВрдЧреЗ:
(1) рдЯреАред рдЯреЛрдлреЛрд▓реА, рдПрдиред рдорд╛рд░реНрдЧреЛрд▓рд╕,
рд╕реЗрд▓реНрдпреБрд▓рд░ рдСрдЯреЛрдореЗрдЯрд╛ рдХреА рдорд╢реАрдиреЗрдВ , рдПрдоред, рдореАрд░, 1991ред
(реи) рдПрдоред рд╢реНрд░реЛрдПрдбрд░,
рдлреНрд░реИрдХреНрдЯрд▓реНрд╕, рдЕрд░рд╛рдЬрдХрддрд╛, рдмрд┐рдЬрд▓реА рдХрд╛рдиреВрдиред рдПрдВрдбрд▓реЗрд╕ рдкреИрд░рд╛рдбрд╛рдЗрдЬ , рдЗрдЬрд╝реЗрд╡реНрд╕реНрдХ, рдЖрд░рдПрдЪрдбреА, 2001, рдкреАрдкреА 469--490 рд╕реЗ рд▓рдШреБрдЪрд┐рддреНрд░ред
(рей) рдЖрд░ред рд░реВрдХрд░, рдЬреЗред рд╡рд╛рдХрд░
рд╕реЗрд▓рдм рдореИрдиреБрдЕрд▓ ред