рдЦреЗрд▓ 15


1880 рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╡реЙрд░реНрд╕реЗрд╕реНрдЯрд░ рдХреЗ рдПрдХ рджрдВрдд рдЪрд┐рдХрд┐рддреНрд╕рдХ, рдЪрд╛рд░реНрд▓реНрд╕ рдкреЗрд╡реА, рдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП $ 1000 (рддрдм рдпрд╣ рдЕрдЪреНрдЫрд╛ рдкреИрд╕рд╛ рдерд╛) рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдХреЗ рдЬрдирддрд╛ рдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛: рдкрдВрджреНрд░рд╣ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рдПрдХ рд╡рд░реНрдЧ рдмреЙрдХреНрд╕ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдХреЗрд╡рд▓ 14 рдФрд░ 15 рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХрд╛рд░реНрдп рдпрд╣ рдерд╛ рдХрд┐ рдЪреЗрдХрд░реНрд╕ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ, рдЙрдиреНрд╣реЗрдВ рдЙрдирдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд╛рдПрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, 14 рдФрд░ 15 рдХреЗ рдЪреЗрдХрд░реНрд╕ рдХреЗ рдЖрджреЗрд╢ рдХреЛ рд╕рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдХрд░реНрдордЪрд╛рд░реА рд╕рдкреНрддрд╛рд╣ рдореЗрдВ 5 рдШрдВрдЯреЗ рдЖрддреНрдо-рд╢рд┐рдХреНрд╖рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ (Habr рдореЗрдВ рдкрдврд╝ / рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ, F # рд╕реАрдЦ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ SICP рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИ)ред рд╕рдордп рдХреЗ рд╕рд╛рде, рдпрд╣ рдкреНрд░рдерд╛ рдорд┐рдиреА-рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрдиреБрднрд╡реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрд╡рд▓рдкрд░ рдореИрдХреНрд╕рд┐рдо рдиреЗ, iOS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рд╣рд╛рде рдЖрдЬрдорд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рд▓рдЧрднрдЧ рдбреЗрдврд╝ рдорд╣реАрдиреЗ рдореЗрдВ рдЙрд╕рдиреЗ рдЯреИрдЧ рдЬрд╛рд░реА рдХрд┐рдП, рдЬреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЗ, рдмрд┐рдХреНрд░реА рдХреЗ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рдЦреЗрд▓ рд╢реНрд░реЗрдгреА рдореЗрдВ рд░реВрд╕реА рдРрдк рд╕реНрдЯреЛрд░ рдХреЗ рдЯреЙрдк 10 рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рдЧрдпрд╛ред

рдЗрд╕рдХреЗ рдмрд╛рдж, рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рдХреЗ рд▓рд┐рдП рд╕рддреНрдпрд╛рдкрди рдХреЛрдб рдФрд░ рдпрд╛рдХреЙрд╡ рдЗрд╕рд┐рдбреЛрд░реЛрд╡рд┐рдЪ рдкреЗрд░реЗрд▓рдореИрди рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЗрд╡ рдЧрдгрд┐рдд рдХреА рдкреБрд╕реНрддрдХ рд╕реЗ рд╕реНрдкреЙрдЯ рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрддред

рд╣рдо рдореЗрдВ рд╕реЗ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдереА рдХрд┐ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рддреЛрдВ рдореЗрдВ рд╕реЗ рдЖрдзреЗ (1,307,674,368,000) рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХрд╛ рдХреЛрдИ рд╣рд▓ рдирд╣реАрдВ рд╣реИред рд╕реЙрд▓реНрд╡реЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реЗ рд╕реВрддреНрд░ рд▓рд┐рдпрд╛: рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЧ рджреЗрдВ, рдЬреЛ рдХрд┐ (рдпрджрд┐ рд╣рдо рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ рдФрд░ рдКрдкрд░ рд╕реЗ рдиреАрдЪреЗ рдХреА рдУрд░ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) k рд╡рд░реНрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ i рд╕реЗ рдХрдо рд╣реИред рд╣рдо n i = k рд▓реЗрдВрдЧреЗ, рдЕрд░реНрдерд╛рдд рдпрджрд┐ i- th рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдкреЛрд░ рдХреЗ рдмрд╛рдж i рд╕реЗ рдХрдо рдХреЛрдИ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ k = 0. рд╣рдо рд╕рдВрдЦреНрдпрд╛ e рдХреЛ рднреА рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ - рдЦрд╛рд▓реА рд╕реЗрд▓ рдХреА рдкрдВрдХреНрддрд┐ рдХреА рд╕рдВрдЦреНрдпрд╛ (1 рд╕реЗ рдЧрд┐рдирддреА)ред рдЕрдЧрд░ рд░рд╛рд╢рд┐



рдЕрдЬреАрдм рд╣реИ, рдлрд┐рд░ рдкрд╣реЗрд▓реА рдХрд╛ рд╣рд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рд╕рддреНрдпрд╛рдкрди рдХреЛрдб


#import "GamePositionValidator.h" @interface GamePositionValidator(){ NSInteger emptyCellRowNumber; } @property (nonatomic, retain) NSArray* validPosition; @property (nonatomic, retain) NSArray* currentPosition; @end @implementation GamePositionValidator @synthesize validPosition; @synthesize currentPosition; -(id) initWithValidPosition:(NSArray *) _validPosition emptyCellRowNumber:(NSInteger ) _emptyCellRowNumber{ if(self = [super init]){ self.validPosition = _validPosition; emptyCellRowNumber = _emptyCellRowNumber; } return self; } -(NSInteger) positionOfChipInValidPosition:(NSInteger) chipNumber{ for(NSInteger i=0; i<self.validPosition.count; i++){ NSNumber* number = [self.validPosition objectAtIndex:i]; if(number.intValue == chipNumber){ return i; } } return -1; } -(NSInteger) countOfDisordersInPosition:(NSInteger) position{ NSInteger chipNumber = ((NSNumber*)[self.currentPosition objectAtIndex:position]).intValue; NSInteger chipPosition = [self positionOfChipInValidPosition:chipNumber]; NSInteger countOfDisorders = 0; for( NSInteger i= position+1; i<15; i++){ chipNumber = ((NSNumber*)[self.currentPosition objectAtIndex:i]).intValue; NSInteger nextChipPosition = [self positionOfChipInValidPosition:chipNumber]; if( nextChipPosition < chipPosition){ countOfDisorders ++; } } return countOfDisorders; } -(BOOL) isPositionCanBeTransformedToValidPosition:(NSArray*) position{ self.currentPosition = position; NSInteger totalDisorders = 0; for(NSInteger i=0; i<self.currentPosition.count; i++){ totalDisorders+=[self countOfDisordersInPosition:i]; } self.currentPosition = nil; return (totalDisorders + _emptyCellRowNumber) % 2 == 0; } @end 

рдпрд╣ рдореИрдХреНрд╕ рдХрд╛ рдкрд╣рд▓рд╛ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЗрд╕рдХреА рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЖрд▓реЛрдЪрдирд╛ рдХрд░ рд╕рдХреЗрдВред

рдЕрдВрдд рдореЗрдВ, "рдЖрдИред рдкреЗрд░реЗрд▓рдореИрди" рд▓рд┐рд╡рд┐рдВрдЧ рдореИрдердореЗрдЯрд┐рдХреНрд╕ рдХреА рдкреБрд╕реНрддрдХ рдореЗрдВ "рдЯреИрдЧ" рдХреЗ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд:
тАЬрдПрдХ рдРрд╕реА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдЬрд┐рд╕рдореЗрдВ 15 рдЯреБрдХрдбрд╝реЗ рдПрдХ рдореЛрдЯрд▓реА рдореЗрд╕ рдореЗрдВ рд░рдЦреЗ рдЧрдП рд╣реЛрдВред рдЖрдВрджреЛрд▓рди рдХреЗ рдкрд╛рд╕ рдЖрдк рд╣рдореЗрд╢рд╛ рдЪреЗрдХрд░ 1 рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрд╕реА рддрд░рд╣, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рдЪреЗрдХрд░ 1 рдХреЛ рдЫреБрдП рдмрд┐рдирд╛, рдЪреЗрдХрд░ 2 рдХреЛ рдЕрдЧрд▓реЗ рд╕реНрдерд╛рди рдкрд░ рджрд╛рдИрдВ рдУрд░ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдлрд┐рд░, рдЪреЗрдХрд░реНрд╕ 1 рдФрд░ 2 рдХреЛ рдЫреВрдиреЗ рдХреЗ рдмрд┐рдирд╛, рдЪреЗрдХрд░реНрд╕ 3 рдФрд░ 4 рдХреЛ рдЙрдирдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд░рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ: рдпрджрд┐ рд╡реЗ рдЧрд▓рддреА рд╕реЗ рдЕрдВрддрд┐рдо рджреЛ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд▓рд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдлрд┐рд░ рдХрдИ рдЖрдВрджреЛрд▓рдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рдЕрдм рд╢реАрд░реНрд╖ рдкрдВрдХреНрддрд┐ 1, 2, 3, 4 рдХреЛ рдХреНрд░рдо рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЪреЗрдХрд░реНрд╕ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рд╕рд╛рде рд╣рдо рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреЛ рдирд╣реАрдВ рдЫреВрдПрдВрдЧреЗред

рдЙрд╕реА рддрд░рд╣, рд╣рдо рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдХреЛ рдХреНрд░рдо рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ: 5, 6, 7, 8; рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдВрддрд┐рдо рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕реНрдерд╛рди рдкрд░, рдЪреЗрдХрд░реНрд╕ 9 рдФрд░ 13 рдХреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП; рдпрд╣ рднреА рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рд╣реИред 1, 2, 3, 4, 5, 6, 7, 8, 9, рдФрд░ 13 рдХреЗ рдХреНрд░рдо рдореЗрдВ рд░рдЦреЗ рдЧрдП рд╕рднреА рдЪреЗрдХрд░реНрд╕ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;



рдЫрд╣ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рдХреНрд╖реЗрддреНрд░ рдмрдирд╛ рд╣реБрдЖ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ, рдФрд░ рд╢реЗрд╖ рдкрд╛рдВрдЪ рдкрд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХреНрд░рдо рдореЗрдВ 10, 11, 12, 14, 15 рдХреЗ рдЪреЗрдХрд░реНрд╕ рдХрд╛ рдХрдмреНрдЬрд╛ рд╣реИред рдЗрд╕ рдЫрд╣-рд╕реАрдЯ рд╡рд╛рд▓реЗ рдЦрдВрдб рдХреЗ рднреАрддрд░, рдЖрдк рд╣рдореЗрд╢рд╛ 10, 11, 12 рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдпрд╣ рд╣рд╛рд╕рд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдореЗрдВ 14 рдФрд░ 15 рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд░рдо рдореЗрдВ рдпрд╛ рд╡рд┐рдкрд░реАрдд рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред " рд╕реМрднрд╛рдЧреНрдп рд╣реИ

Source: https://habr.com/ru/post/In146508/


All Articles