рд╣реИрдХрд░ рдХрдк рдпреЛрдЧреНрдпрддрд╛ рд░рд╛рдЙрдВрдб рдкрд╛рд░реНрд╕рд┐рдВрдЧ + рдлреЗрд╕рдмреБрдХ рд╣реИрдХрд░ рдХрдк рдСрдирд▓рд╛рдЗрди рд░рд╛рдЙрдВрдб I рд╕реНрдерд╛рдирд╛рдВрддрд░рдг

рдлреЗрд╕рдмреБрдХ рд╣реИрдХрд░ рдХрдк 2011 рдореБрдЦреНрдп рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ 4 рд░рд╛рдЙрдВрдб - рдпреЛрдЧреНрдпрддрд╛, рджреЛ рдСрдирд▓рд╛рдЗрди рд░рд╛рдЙрдВрдб рдФрд░ рдлрд╛рдЗрдирд▓ рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



Habr├й рджреНрд╡рд╛рд░рд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдШреЛрд╖рд┐рдд рдпреЛрдЧреНрдпрддрд╛ рджреМрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред

рджреМрд░ рдХреЗ рдкрд░рд┐рдгрд╛рдо 5846 рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдкрд╣рд▓реЗ рдСрдирд▓рд╛рдЗрди рджреМрд░реЗ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛ рдерд╛ред

рдХреНрд╡рд╛рд▓рд┐рдлрд┐рдХреЗрд╢рди рд░рд╛рдЙрдВрдб рдХреЗ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ 3 рдХрд╛рд░реНрдпреЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЧрдИ рдереА, рдЗрд╕реЗ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рднреА рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред



рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдСрдирд▓рд╛рдЗрди рджреМрд░, рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдХрд░реАрдм рдмрд╛рдзрд┐рдд, рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рд╕реНрдердЧрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

рд╣рдордиреЗ рд░рд╛рдЙрдВрдб 1 рдХреЗ рд╢реЗрд╖ рд╕рдм-рд╡реЗ рдХреЛ рдкреАрдЫреЗ рдзрдХреЗрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рд╣рдореЗрдВ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдкрдбреЗрдЯ рдпрд╣рд╛рдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рддрдХ рдХрдо рд╕реЗ рдХрдо рд╕рдм-рд╡реЗ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

рдЫрд╡рд┐



рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рд╛рд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЛ рдХрдо рдХрд░ рджреВрдВрдЧрд╛ред рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдореВрд▓ рдореЗрдВ рдкреВрд░реА рд╢рд░реНрддреЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред



рдЯрд╛рд╕реНрдХ 1. "рдбрдмрд▓ рд╕реНрдХреНрд╡рд╛рдпрд░"





рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рджреЛ рдкреВрд░реНрдг рд╡рд░реНрдЧреЛрдВ рдХреЗ рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рдЕрднреНрдпрд╛рд╡реЗрджрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬреНрдЮрд╛рдд рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: 10 = 1 ^ 2 + 3 ^ 2 - рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░, рдФрд░ 25 = 5 ^ 2 + 0 ^ 2 = 4 ^ 2 + 3 ^ 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбрд┐рдХрдореНрдкреЛрдЬрд┐рд╢рди) ред



рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП:

резреж реирел рей реж рез

рд╕рд╣реА рдЙрддреНрддрд░ рд╣реИ:

рез реи реж рез рез

рдХрд╛рд░реНрдп рдкрд░ рдПрдХ рд╕рдордп рд╕реАрдорд╛ рд╣реИ - рдЖрдкрдХреЛ рдХрд╛рд░реНрдп рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж 6 рдорд┐рдирдЯ рдмреАрддрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрддреНрддрд░ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрддрдо 100 рдирдВрдмрд░ рд╣реИрдВ рдЬреЛ рдХрд┐ рдбрд┐рдХрдореНрдкреЛрдЬрд┐рд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдЧрд┐рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рд╣рдо рддрдп рдХрд░рддреЗ рд╣реИрдВ:



рд╕реНрдХреЛрд░: 2147483647 рдХреА рдЬрдбрд╝ 46340.95 рд╣реИ - рдЗрддрдирд╛ рдирд╣реАрдВред

рдЖрдЗрдбрд┐рдпрд╛: 0 рд╕реЗ 46341 рддрдХ рдкреВрд░реНрдг рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рд╕рд░рдгреА рднрд░реЗрдВ



рддрдм рдХрд╛рд░реНрдп рдЖрд╡рдХ рдХреЗ рджреЛ рд╕рд┐рд░реЛрдВ рд╕реЗ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╣реЛ рдЬрд╛рдПрдЧрд╛:



рдЗрд╕ рдмреАрдЪ, рд╕рд┐рд░ рд╕реЛрдЪрддрд╛ рд╣реИ, рд╣рд╛рде рд╕реАрдзреЗ рдЕрднрд┐рд╡рд░реНрдзрди рджреНрд╡рд╛рд░рд╛ рдХреБрдЯрд┐рд▓ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ (рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ рд╕рд░рдгреА рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рд╡рд░реНрдЧ рдХреЗ рдЕрдВрддрд░ рд╕реЗ рдЬрдбрд╝ рдХреЛ рд▓реЗрддреЗ рд╣реБрдП)ред

рдореИрдВ рдХреЛрдб рдирд╣реАрдВ рджреВрдВрдЧрд╛ - рд╣рдо рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзреНрдпрд╛рди рдмрдЪрд╛рдПрдВрдЧреЗред



рдХрд╛рд░реНрдп 2. рдЦреВрдВрдЯреА рдЦреЗрд▓





рд╡рд╛рд╢рд░ (рд▓рд╛рд▓) рджреЛ рджреАрд╡рд╛рд░реЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдмрд┐рд╕рд╛рдд рдХреЗ рдкреИрдЯрд░реНрди рдореЗрдВ рддрдп рдХрд┐рдП рдЧрдП рд╣реИрдВ:







рдЧреНрд░реАрди рд╕рд░реНрдХрд▓ рд╕реЗ рдПрдХ рд╕рд┐рдХреНрдХрд╛ рдЧрд┐рд░рддрд╛ рд╣реИ, рдЬреЛ рдкрдХ рдкрд░ рдЙрдбрд╝рддрд╛ рд╣реИ, рдмрд╛рдПрдВ рдпрд╛ рджрд╛рдПрдВ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЙрдЫрд▓рддрд╛ рд╣реИ (рдЪрд░рдо рдкрдХ рд╕реЗ рд╕рд┐рдХреНрдХрд╛ рд╣рдореЗрд╢рд╛ рдЕрдВрджрд░ рдХреА рддрд░рдл рдЙрдЫрд▓рддрд╛ рд╣реИ)ред рдПрдХ рдЧрд┐рд░рддрд╛ рд╣реБрдЖ рд╕рд┐рдХреНрдХрд╛ рдиреАрд▓реЗ рдШреЗрд░реЗ рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рдПрдЧрд╛ - рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВред рдпрджрд┐ рдХреЛрдИ рд╕рд┐рдХреНрдХрд╛ рдмреАрдЪ рд╕рд░реНрдХрд▓ рдореЗрдВ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╡рд╣ рдХрд┐рд╕реА рднреА рддреАрд░ рдХреЗ рд╕рд╛рде рдпрд╛рддреНрд░рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:







рдЗрдирдкреБрдЯ "рдлрд╝реАрд▓реНрдб" рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ - рд╣рдореЗрд╢рд╛ рдПрдХ рд╡рд┐рд╖рдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрдВрдХреНрддрд┐рдпрд╛рдВ, рдФрд░ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреЙрд▓рдо, рдФрд░ рдирд┐рдХрд╛рд╕ рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ рдПрдХ рд╕рд┐рдХреНрдХрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЙрддреНрддрд░ рд╡рд┐рдВрдбреЛ рдирдВрдмрд░ рдФрд░ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╕рд┐рдХреНрдХрд╛ рджрд┐рдП рдЧрдП рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдЙрдЪреНрдЪрддрдо рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рдорд┐рд▓реЗрдЧрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рд╡рд╛рд╢рд░ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ (рд╕рдордп-рд╕рдордп рдкрд░ рдЦреЛ рдЬрд╛рддреЗ рд╣реИрдВ)ред



рд╣рдо рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдХреНрд╖реЗрддреНрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ 1 рдкрдХ рдЦреЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдордзреНрдп рдирд┐рдХрд╛рд╕ рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:







рдирд┐рд░реНрдгрдп



рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рдЧрдгрдирд╛ рдХреЗ рд╕рд╛рде рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕рдордп рдкрд░ рдирд╣реАрдВ рд╣реЛрдЧреА - рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ 99-100 рд╣реИ, рдФрд░ рдЖрд╡рдВрдЯрд┐рдд 6 рдорд┐рдирдЯ рдореЗрдВ рдЖрдкрдХреЛ 100 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд╕ рднреЗрдЬрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред



рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░:





рд╣рдо рдирд┐рдХрд╛рд╕ рдмрд┐рдВрджреБ рд╕реЗ рдиреАрдЪреЗ рд╕реЗ рдКрдкрд░ рддрдХ рдЬрд╛рддреЗ рд╣реИрдВ - рд╣рдо рдЗрд╕рдореЗрдВ 1 рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕реЗ рджреЛ рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рдмрд╛рдИрдВ рдУрд░, рдЙрдЪреНрдЪрддрд░ рдФрд░ рджрд╛рдИрдВ рдУрд░, рдЙрдЪреНрдЪрддрд░ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрди рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рд╣рдо 1/2 рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рдирд┐рдХрд╛рд╕ рдмрд┐рдВрджреБ рдкрд░ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВред рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рдпрдо рдЙрдирдХреЗ рдЧреБрдгрди рдХреА рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред рд╕реНрддрд░ рд╕рдорд╛рдкреНрдд, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░ рдЬрд╛рдПрдВ: рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ 1/2 рдХреЗ рд╕рд╛рде 2 рдмрд┐рдВрджреБ рд╣реИрдВред рд╣рдо рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рдЙрдирдХреЗ рдпреЛрдЧрджрд╛рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ:



рдЕрдм рд╣рдо рддреАрд╕рд░реА рдкрд░рдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдВрддрд┐рдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред (рдЕрдиреНрдпрдерд╛, рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреИрд░-рдЕрдХреНрд╖реАрдп рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде, рд╣рдо рдПрдХ рд╕рдорд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ)ред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рдордзреНрдп рдпрд╛ рджрд╛рд╣рд┐рдиреА рдЦрд┐рдбрд╝рдХреА рд╕реЗ рдПрдХ рд╕рд┐рдХреНрдХрд╛ рдлреЗрдВрдХрдХрд░ рдФрд░ рдПрдХ рд╣реА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рдордзреНрдп рдирд┐рдХрд╛рд╕ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ рдлреЗрд╕рдмреБрдХ рдХреЗ рд╕реНрд░реЛрдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ, рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдХреНрд╖реЗрддреНрд░ рдХреЛ рд░реЗрдЦрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: 3 4 1 1 0



рдЕрдм рд╣рдо рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ:

#!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  1. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  2. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  3. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  4. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  5. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  6. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  7. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  8. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  9. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  10. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  11. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  12. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  13. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  14. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  15. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  16. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  17. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  18. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  19. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  20. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  21. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  22. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  23. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  24. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  25. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  26. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  27. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  28. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  29. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  30. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  31. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  32. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  33. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  34. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  35. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  36. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  37. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  38. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  39. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  40. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  41. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  42. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  43. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  44. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  45. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  46. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  47. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  48. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  49. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  50. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  51. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  52. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  53. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  54. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  55. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  56. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  57. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  58. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  59. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  60. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  61. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  62. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  63. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  64. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  65. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  66. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  67. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  68. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  69. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  70. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  71. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  72. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  73. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  74. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  75. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



  76. #!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .



#!/usr/bin/python #coding=utf-8 # "" def next(y,x,v): l=[] if (x+y)%2==0: # l.append((y-1,x,v)) return l # if (y-1,x) in skip:# l.append((y-1,x,v)) # - # if x!=0:# if x!=0 and x!=size: if (y,x-1) not in skip:# if x==1 or (y%2==1 and ( x==2 or x==size)): # - , l.append((y-1,x-1,v))# else : l.append((y-1,x-1,v/2.))# - # - # if x!=size:# if (y,x+1) not in skip:# if x==size-1 or (y%2==1 and ( x+1==2 or x+1==size-2)): l.append((y-1,x+1,v))# else : l.append((y-1,x+1,v/2.))# - return l # def rc_to_yx(rs,cs): if rs%2==0: return (rs,cs*2) return (rs,cs*2+1) f = open( 'in' , 'r' ) f.readline() lines_in=f.readlines() for inputWords in lines_in: skip_l = [] skip= set (skip_l) inputWords = inputWords[0:-1].split( ' ' ) inputWords= filter (lambda a: a != "" , inputWords) r= int (inputWords.pop(0)) c= int (inputWords.pop(0)) target= int (inputWords.pop(0)) s_count=inputWords.pop(0) for q in range( int (s_count)): rs=inputWords.pop(0) cs=inputWords.pop(0) skip.add(rc_to_yx( int (rs), int (cs))) # , size=c+c-2 # "" , n={} n[(r-1,target*2+1)]=1 for q in range(r-1): s=n n={} for (b,a),v in s.iteritems(): for (y,x,v) in next(b,a,v): try : n[(y,x)]+=v except KeyError: n[(y,x)]=v #print n # # , maxv=0 maxx=0 for (y,x),v in n.iteritems(): if v>maxv: maxv=v maxx=x #, - 6 print '%(i)d %(d)f' % \ { "i" :(maxx-1)/2, "d" :maxv} print * This source code was highlighted with Source Code Highlighter .







рдЯрд╛рд╕реНрдХ 3. "рд╕реНрдЯреВрдбреЗрдВрдЯ рд╕реНрдЯреВрдбреЗрдВрдЯ"



рдЗрд╕ рд╕реЗрдЯ рдХреЗ рд╢рдмреНрджреЛрдВ рдХреЛ рдХрдо рд╕реЗ рдХрдо рд╢рдмреНрджрд╛рд▓рдВрдХрд╛рд░ рдХреНрд░рдо (рд╢рдмреНрджрдХреЛрд╖ рдореЗрдВ) рдХреЗ рд╕рд╛рде рд╢рдмреНрдж рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред



рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЗрдЯ рд╕реЗ: рдЕрдзреНрдпрдпрдирд╢реАрд▓ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдлреЗрд╕рдмреБрдХ рд╣реИрдХрд░ рдХрдк

рд╢рдмреНрдж рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛: cupfacebookforhackerstudentsstudious



рдирд┐рд░реНрдгрдп



(рдЧрд▓рдд рд╕рдорд╛рдзрд╛рди рдирд┐рдХрд╛рд▓рд╛)



рд╣реЗрдмреНрд░реБрдЬрд╝ рдлрд╝реБрд░реНрдХрд╛ рд╕реЗ рд╕рдорд╛рдзрд╛рди, рдЬрдЯрд┐рд▓рддрд╛ рд╣реЗ (рдПрди!)





  1. itertools рд╕реЗ рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ
  2. source = "рдЬрд┐рдмреНрд╡рд╛ рдЬреА рдЬреЗрдкреА рдмреАрд╡реА рдЬрд┐рдмреНрд╡рд╛"
  3. рд╢рдмреНрдж = source.split ()
  4. рдЙрддреНрддрд░ = рдорд┐рдирдЯ ( "" .join (рд╕рдВрдпреЛрдЬрди) рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди (рд╢рдмреНрджреЛрдВ) рдореЗрдВ рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП )
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рд╢рд░реНрдд рдПрди <= 9 рд╕реЗ, рдЧреБрдЯреАрдп рдЬрдЯрд┐рд▓рддрд╛ рдЕрдЪреНрдЫрд╛ рдХрд░ рд░рд╣реА рд╣реИ

рд╕рд╛рде рд╣реА рдпрд╣ рдЙрдирдХреА рдЯрд┐рдкреНрдкрдгреА рд╣реИ





Skiminok habrayuzer рдЬрдЯрд┐рд▓рддрд╛ рдУ рд╕реЗ рд╕рдорд╛рдзрд╛рди (рдПрди рд▓реЙрдЧ рдПрди)





  1. рдлрдВрдХреНрд╢рдВрд╕ рд╕реЗ рдЖрдпрд╛рдд cmp_to_key
  2. рдбреАрдИ рдХреЙрдореНрдк (рдП, рдмреА):
  3. -1 рд▓реМрдЯрд╛рдПрдВ рдЕрдЧрд░ a + b <b + a 1 1 рдЕрдЧрд░ a + b> b + a рдФрд░ 0
  4. рдбрд┐рдл рд╕реЙрд▓реНрд╡ (s):
  5. рд╡рд╛рдкрд╕реА "" .join (рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ (s.split), рдХреБрдВрдЬреА = cmp_to_key (COMP))
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рд╕рд╛рде рд╣реА рдпрд╣ рдЙрдирдХреА рдЯрд┐рдкреНрдкрдгреА рд╣реИ



рдлрдлреВрдВрдж рд╕реЗ рд╢рд╛рд░реНрдЯ рд▓реИрдореНрдмрдбрд╛ рд╕рдВрд╕реНрдХрд░рдг





  1. рдбрд┐рдл рд╕реЙрд▓реНрд╡ (s):
  2. рд╡рд╛рдкрд╕реА "" .join (рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рд╣реБрдЖ (s.split), cmp = lambda a, b: cmp (a + b, b + a)))
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рд╕рд╛рде рд╣реА рдпрд╣ рдЯрд┐рдкреНрдкрдгреА



All Articles