#+title: Notes * part 1 so we aren't looking for minimal distance. but all plots which are end to any path of length 'steps left' so, i have to follow all possible paths to the end? or. length of 6 and all even - because i could be doing <- -> but i could be doing loop around that would increase path len by odd number let's just make direct recursive thing. create set of all reachable by n, * oh, the part 2. i suppose this 'infinite' garden could be managed with my 'neighbors' work with 'out of field' fairly easy but what about sizes of the maps? are we releasing maps of previous iterations? maybe if i directly pass references to prev and current, and manually set 'prev' to target new it will be collected? and then elements after these steps 26501365 would fit into memory? ** i guess maybe it would help if i had 'fully saturated' field as my minimal 'skipping' thing ** so. store FieldCoord(fieldRow, fieldCol) for fields which were fully saturated at current step. filter out neighbors, no need to enter fully saturated fields when counting on odd - around the S, on even - with S but the neighboring fields would potentially (likely?) be in different phases but i guess they are necessarily in different phases? or. if width odd - necessarily if width even - then what? then S is not in the center my input is 131 chars of width. so neighboring are necessarily of different phase. could compute phase of (0,0) and adjust from that ** TODO remake 'ReachableBySteps' into 'CountReachableBySteps' returning int ** TODO make it take 'isInitialCountOdd' - to know phase of {0,0} field current phase can be determined by initial phase and current N if initial count is odd, and now it's odd number, we made even iterations, so (0,0) is in even state if initial count is even, and now it's even number, we made even iterations, so (0,0) is in even state ** DONE make neighbors take set of saturated fields and not produce points on those fields ** DONE for field calculate what would be amount of points in each phase ........... .....###.#. .###.##..#. ..#.#...#.. ....#.#.... .##..S####. .##..#...#. .......##.. .##.#.####. .##..##.##. ........... *** getting 39 and 42 let's check 42 is even? *** hmmm EOEOEOEOEOE OEOEO###O#O E###E##OE#E OE#E#EOE#EO EOEO#O#OEOE O##EOE####O E##OE#EOE#E OEOEOEO##EO E##O#O####E O##EO##E##O EOEOEOEOEOE *** yes, sounds good ** TODO after getting all new points. get coords of all fields we're working on. ( there already should be no points in saturated fields ) for each such field, check if it is saturated. - can be done by comparing the phase with amount of points on saturated if field saturated - add the coord into set and remove all the points ** TODO on the last step, when n is 0 return len(startingAt) + (all saturated fields) * (amount of elems in their phase)