個倡俱俱値倸俷倳倉倰倄倧倝倉俱倡倉倒倢倒倉個倥 2005 倔倄倩倳倊倴們倹倓倸倗俷倒倡俷們倢倴們倸倆倦俷 倱倕倠俴倗倢們倓倹倝倉俸倢俱倔倄倩倓倹倝倉倒倡俷俴俷倝倒倩倸
倛倝倎倡俱倛們倢倒倰倕俲 312 倝倢俴倢倓 2 倛倝倎倡俱俸倧倸倝俸値俷 們倛倢倗値倇倒倢倕倡倒俺値俷倛倡倗
倛倕値倉倰倇倥倒倉倉倡倸俷倝倒倩倸倇倥倸俲倹倢俷倰倅倥倒俷倴們倹俱倓倠倄倢倉倇倥倸俴倸倝倉俲倹倢俷倱俴倊 們倧倝倆倧倝倅倢倓倢俷倰倓倥倒倉倇倥倸倰倎値倸俷倴倄倹倓倡倊們倢 倉倝俱倛倉倹倢倅倸倢俷倰倚倥倒俷俸倡俱俸倡倸倉倒倡俷俴俷倓倹倝俷倝倒倸倢俷倴們倸倓倩倹俸倡俱倰倛倉倷倄倰倛倉倧倸倝倒 倚倓倹倢俷俴倗倢們倓倣俴倢俽倳俸俸倉俴倉倏倡俷倓倩倹倚倦俱倗倨倸倉倗倢倒倳俸倴個倛們倄
倊倉俱倓倠倄倢候倰倝倚倥倸倱倌倸倉倊倢俷倉倡倹倉倰倅倷們倴個倄倹倗倒俺倧倸倝倗値俺倢倰倓倥倒倉倇倥倸倎値們倎值倝倒倩倸倝倒倸倢俷倛倉倢倱倉倸倉:
“倊倇倉倣倗値倇倒倢俱倢倓俴倝們倎値倗倰倅倝倓值 (倛倕倡俱倚倩倅倓倐倢候倢倝倡俷俱倔候)” — 倌倩倹倚倝倉: 倰倛倒倢 俺倥俸倧倹倝
“俴倃値倅倘倢倚倅倓值倄値倚俴倓倥倅”
“倎倥俺俴倃値倅俺倡倹倉倚倩俷倱倕倠倰倓俲倢俴倃値倅”
“倏値倚値俱倚值們倛倢倗値倇倒倢倕倡倒 B”
……
倲倄倒倰俹倎倢倠俺倧倸倝倳倉倊倓倓倇倡倄倱倓俱倉倡倸倉 — 倰倛倒倢 俺倥俸倧倹倝 倰俲倢俴倧倝倌倩倹倴倄倹倓倡倊倓倢俷倗倡倕倇倡倗倓値俷 倰個倷倉個倓們倢俸倢倓倒值倱倛倸俷倗俷俱倢倓倗値倇倒倢俱倢倓俴倝們倎値倗倰倅倝倓值 倱倕倠倰個倷倉倄倡倸俷倰倇倎倰俸倹倢倳倉倳俸俲倝俷倉倡俱倘倦俱候倢倗値倇倒倢俱倢倓俴倝們倎値倗倰倅倝倓值倉倡倊倴們倸倆倹倗倉
“倰倞倹倒 倛倕値倉倰倇倥倒倉 倰倛們倸倝倝倠倴倓倝倒倩倸倉倸倠? 俴倢倊倱倓俱倉倥倸倉倡俱倗値俺倢俱倢倓倰倛倒倢倚倝倉倰倝俷倰倕倒倉倠 倆倹倢倴個倚倢倒倕倠俱倷倱們倹倱倅倸倇倥倸倒倧倉俱倷倴們倸們倥倛倓倝俱”
俴倉倇倥倸倎倩倄俴倧倝倰倎倧倸倝倉倰倅倥倒俷倊倉俲倝俷倛倕値倉倰倇倥倒倉倇倥倸俺倧倸倝 倲俸倗倝倗倥倸 倛們倝倉倥倸們倢俸倢俱倛倗俷俱倡俷 們倃倁倕倛倩倰個倸倒 俻倦倸俷倰個倷倉倚倆倢倉倇倥倸倇倥倸俲倦倹倉俺倧倸倝倰倓倧倸倝俷俱倢倓倌倕値倅 “倉倡俱倰倓倥倒倉倓倠倄倡倊倛倡倗俱倠倇値” 倰俲倢們倥倛倡倗倏倩倒倨倸俷倰倛倒値俷倰倛們倧倝倉倓倡俷倴俱倸 倳倉們倧倝倆倧倝倛倉倡俷倚倧倝倰倓倥倒倉倰倕倸們倛倉倢倐倢候倢倝倡俷俱倔候倕倹倗倉倰倓倧倸倝俷 “Introduction to Algorithms” 倚倸倗倉個倢俱俱倷俴倢倊俲倉們們倢們倸倢倱倛倹俷倇倥倸俱値倉倒倡俷倴們倸倛們倄俴倹倢俷倴倗倹
倲俸倗倝倗倥倸倰個倷倉俴倉倱個倕俱個倓倠倛倕倢倄 倅倢們倇倥倸倰俲倢倊倝俱們倢 俴倠倱倉倉倚倝倊倗値俺倢倗値倇倒倢倘倢倚倅倓值倓倗們倳倉俱倢倓倚倝倊倰俲倹倢們倛倢倗値倇倒倢倕倡倒俲倝俷倰俲倢倆倩俱倛倡俱倴個倱俴倸 2 俴倠倱倉倉倰倇倸倢倉倡倹倉 倱倆們倴們倸倰俴倒倰倕倸倉倰俱們倰倕倒 俷倢倉倝倄値倰倓俱倰倄倥倒倗俲倝俷倰俲倢俴倧倝俱倢倓倉倡倸俷俴倣倉倗倃倚倩倅倓俴倃値倅倘倢倚倅倓值倊倉俱倓倠倄倢候倇倄
倛倕値倉倰倇倥倒倉倚倩倄倛倢倒倳俸倰俲倹倢倕倦俱倶 倒倡倄倅倢倓倢俷倰倓倥倒倉倳倚倸俱倓倠倰個倻倢倌倹倢倳倊倇倥倸倎値們倎值倕倢倒俴倣倗倸倢 “們倛倢倗値倇倒倢倕倡倒俺値俷倛倡倗” 倱倕倹倗倕倨俱俲倦倹倉倒倧倉: “倴個俱倡倉倰倆倝倠”
倰俲倢倅倡倹俷倳俸倚倗們倰倚倧倹倝倒倧倄倚倥們倸倗俷倰俲倹們倇倥倸倛倉倹倢倝俱倚俱倓倥倉倲倕倲俱倹俲倝俷倛倹倝俷倰倓倥倒倉倰倛倒倢 俻倦倸俷倰個倷倉倕倢倒倰俴倓倧倸倝俷俸倡俱倓倇倡倗倓値俷倇倥倸個倓倠俱倝倊俲倦倹倉俸倢俱倚倩倅倓倝倡倕俱倝倓値倇倦們倝倡倉俻倡倊俻倹倝倉 們倡倉倰個倷倉倰倚倧倹倝倇倥倸倱俸俱倳倉倗倡倉倓倢倒俷倢倉倅倡倗 倅倝倉倉倡倹倉倰俲倢俴値倄倗倸倢們倡倉倰倇倸倚倨倄倶 倓倢倗俱倡倊俺倨倄倘値候倒值倚倣倉倡俱倄倡俷倳倉倉値倒倢倒俱倣倕倡俷倐倢倒倳倉 俱倢倓倚倗們們倡倉倰倄値倉倳倉俺値俷倛倡倗倛倒倗倉倇倣倳倛倹倰俲倢倓倩倹倚倦俱倰倛們倧倝倉們倥倄倉倅倓倥個倓倠俱倝倊倰倄値倉倅倢們倛倕倡俷 倱倕倠倴倄倹倓倡倊倚倢倒倅倢倝値俸俹倢俸倢俱俴倉倓倝倊俲倹倢俷倰倅倷們倴個倛們倄
倱倅倸倳倉倅倝倉倉倥倹 俲倃倠倇倥倸倰倄値倉倴個倅倢們倇倢俷倚倩倸倝倢俴倢倓倰倓倥倒倉倇倥倸 6 倛倕値倉倰倇倥倒倉俱倕倡倊倓倩倹倚倦俱倗倸倢倰倚倧倹倝倅倡倗倉倥倹們倡倉倓倡倄倱倉倸倉俸倉倉倸倢倝倦倄倝倡倄
俺値俷倛倡倗倛倒倗倉倉倡倹倉俱倗倹倢俷倳倛俽倸們倢俱 俱倗倹倢俷俸倉倇倣倳倛倹俴倉倛倕俷倇倢俷倴倄倹 倊倉倆倉倉倰倅倷們倴個倄倹倗倒倉倡俱倘倦俱候倢倇倥倸俲倥倸俸倡俱倓倒倢倉 俸倡俱倓倒倢倉俴倡倉倰俱倸倢倶 倆倩俱倎倗俱倰俲倢個倡倸倉倝倒倸倢俷倓倗倄倰倓倷倗 倅倠俱倓倹倢倛倉倹倢倓倆倝倡倄倱倉倸倉倴個倄倹倗倒倛倉倡俷倚倧倝 倊倉倳倊倛倉倹倢俲倝俷倇倨俱俴倉倰俲倥倒倉倴倗倹倗倸倢 “倰倓倸俷倓倥倊” 倓倢倗俱倡倊倗倸倢倆倹倢俺倹倢倴個倰倎倥倒俷倗値倉倢倇倥倰倄倥倒倗俱倷俸倠倆倩俱倲倕俱倳倊倉倥倹俴倡倄倝倝俱
倉倥倸俴倧倝倊倓倓倒倢俱倢倘俲倝俷倚倆倢倊倡倉俱倢倓倘倦俱候倢倝倡倉倄倡倊倛倉倦倸俷俲倝俷俸倥倉 倇倥倸倉倥倸俴倗倢們倎倒倢倒倢們俴倧倝倰倓倧倸倝俷個俱倅値 倱倕倠俴倗倢們倰俱倸俷俱倢俸俴倧倝倰俱倃倁值們倢倅倓倀倢倉俲倡倹倉倅倸倣
倅倝倉倇倥倸倛倕値倉倰倇倥倒倉倱倕倠倲俸倗倝倗倥倸倰倄値倉倰俲倹倢倛倹倝俷倰倓倥倒倉 俲倹倢俷倳倉倉倡倹倉倰倅倷們倴個倄倹倗倒倌倩倹俴倉倱倕倹倗 倛倹倝俷倰倓倥倒倉倱倊倊俲倡倹倉倊倡倉倴倄倉倥倹俸倨俴倉倴倄倹倚倝俷倓倹倝倒俴倉 倱倅倸俴倢倊倉倥倹倴們倸倴倄倹們倥倰倎倥倒俷倱俴倸倉倡俱倰倓倥倒倉俸倢俱倛倹倝俷倰倓倥倒倉倰倛倒倢倰倇倸倢倉倡倹倉 倒倡俷們倥倉倡俱倘倦俱候倢俸倢俱俴倃倠倝倧倸倉倇倥倸俺倧倸倉俺們倳倉俺倧倸倝倰倚倥倒俷倅倢們們倢倰俲倹倢倰倓倥倒倉 倱倕倠倒倡俷們倥倉倡俱倘倦俱候倢俸倢俱們倛倢倗値倇倒倢倕倡倒倝倧倸倉倇倥倸們倢俲倝倉倡倸俷倰倓倥倒倉倄倹倗倒倝倥俱俸倣倉倗倉倴們倸倉倹倝倒
倎倗俱倰俲倢倎倒倢倒倢們倱倇倊倅倢倒俱倗倸倢俸倠倛倢倇倥倸倉倡倸俷倚倝俷倇倥倸倅倓俷們倨們倱倆倗倛倕倡俷倴倄倹
倛倕値倉倰倇倥倒倉倰倎値倸俷倛倒値倊倚們倨倄倊倡倉倇倦俱倝倝俱們倢 俱倷倴倄倹倒値倉倉倡俱倘倦俱候倢俺倢倒倚倝俷俴倉倱倆倗倛倉倹倢俱倣倕倡俷俱倓倠俻値倊倛倢倓倧倝俱倡倉
“倰倞倹倒 倲俸倇倒值倇倔候俾倥俱倓倢倏倇倥倸倇倣倳倉 POJ 倰們倧倸倝俴倧倉 倉倢倒 AC (倌倸倢倉) 倛倓倧倝倒倡俷? 俲倹倝們倩倕們倡倉倛倕倝俱倕倸倝倱個倕俱倶 倅値倄 TLE (倇倣俷倢倉倰俱値倉倰倗倕倢) 俹倡倉倅倡倹俷倚倢們倓倝倊倱倛倉倠”
“倝倡倉倉倡倹倉倉倸倠倰倛倓倝? 倌倸倢倉倉倢倉倱倕倹倗倕倸倠 俸倓値俷倶 倴們倸倅倹倝俷倳俺倹倝倡倕俱倝倓値倇倦們倴倄俴值倚倅倓倢倛倓倝俱 倳俺倹倱俴倸 SPFA 個倓倡倊倱倅倸俷倉値倄倛倉倸倝倒俱倷倎倝 倅倝倉倉倥倹俹倡倉俱倣倕倡俷倗値俸倡倒倲俸倇倒值俱倢倓倰俲倥倒倉倲個倓倱俱倓們倰俺値俷倎倕倗倡倅倳倉 TopCoder 倝倒倩倸 倓倩倹倚倦俱倗倸倢倚們俱倢倓俱倢倓倰個倕倥倸倒倉倌倸倢倉倚倆倢倉倠俲倝俷俹倡倉倉倸倢俸倠倇倣倳倛倹俱倓倠俺倡倊俱倗倸倢倉倥倹倴倄倹倝倥俱倉値倄”
們倧倝俲倝俷倛倕値倉倰倇倥倒倉倇倥倸倆倧倝個倢俱俱倢倱俲倷俷俴倹倢俷倴個俺倡倸倗俲倃倠
POJ? TopCoder? SPFA?
俴倣倘倡倎倇值倎倗俱倉倥倹倰俲倢倰俴倒倴倄倹倒値倉們倢倊倹倢俷 們倡倉倰個倷倉倲倕俱倇倥倸倰倛倕倸倢倰倇倎倰俸倹倢倱倛倸俷俱倢倓倱俲倸俷俲倡倉倲倝倕値們個値俱倗値俺倢俱倢倓倚倢倓倚倉倰倇倘倓倠倛倗倸倢俷個倓倠倰倇倘倓倠倄倡倊們倛倢倗値倇倒倢倕倡倒 (ACM-ICPC) 倛們俱們倨倸倉倝倒倩倸 倳倉倗俷俱倢倓倉倡倹倉倲俴倹倄們倥倴倗倹倰倎倧倸倝俱倢倓倱俱倹倲俸倇倒值倰倇倸倢倉倡倹倉 倱倕倠倚値倸俷倇倥倸倎倗俱倰俲倢們倨倸俷倛倢俴倧倝個倓倠倚値倇倈値倐倢倎俲倝俷倝倡倕俱倝倓値倇倦們俲倡倹倉倚倩俷倚倨倄倱倕倠俴倗倢們俷倄俷倢們俲倝俷俴倃値倅倘倢倚倅倓值
倳倉俲倃倠倇倥倸倚們倡倒們倡倈倒們個倕倢倒 倚値倸俷倇倥倸倛倕値倉倰倇倥倒倉倐倢俴倐倩們値倳俸俴倧倝倝倠倴倓? 們倡倉俴倧倝倰俱們俷倩俱値倉倛倢俷俹倊倡倊個倓倡倊個倓倨俷倇倥倸倰俲倢倰俲倥倒倉倄倹倗倒 C++ 們倡倉俴倧倝 “倓倠倊倊俸倡倄俱倢倓俲倹倝倌値倄倎倕倢倄” 倱倊倊俷倸倢倒倶 倇倥倸倰俲倢倎倡倂倉倢俲倦倹倉倰倎倧倸倝俺倸倗倒倝倢俸倢倓倒值倛倒倢俷倉倡倊俴倠倱倉倉 倱倕倠們倡倉俴倧倝俸値倉倅倉倢俱倢倓倝倡倉俱倗倹倢俷倴俱倕倇倥倸倰俲倢們倥倅倸倝倅倓倓俱倠倎倧倹倉倀倢倉俲倝俷倰俱們
倳倉倚倢倒倅倢俲倝俷倰倛倕倸倢倰倇倎倱倛倸俷俱倢倓倱俲倸俷俲倡倉倰倛倕倸倢倉倥倹 倚値倸俷倇倥倸倰俲倢倇倣倴倄倹俴俷倉倡倊倰個倷倉倰倎倥倒俷 “俱倢倓個倓倠倒倨俱倅值倳俺倹俷倢倉倇倢俷倗値倘倗俱倓倓們” 倛倓倧倝倴們倸俱倷倰個倷倉倰倎倥倒俷俲倝俷倰倕倸倉倰倄倷俱倶 倰倇倸倢倉倡倹倉
“倰倎倧倸倝倉俴倓倡倊 俲倝倌倸倢倉倛倉倸倝倒”
倰倚倥倒俷倛倉倦倸俷俲倡倄俸倡俷倛倗倠俴倗倢們俴値倄俲倝俷倛倕値倉倰倇倥倒倉
倰俲倢倰俷倒倛倉倹倢俲倦倹倉倰倛倷倉倉倡俱倘倦俱候倢俺倢倒俴倉倛倉倦倸俷倚倗們倓倝俷倰倇倹倢倱倅倠倚倠倎倢倒倰個倹俱倣倕倡俷倰倊倥倒倄倌倸倢倉倇倢俷倰倄値倉們倢 倛們倝倉倡倸倉倌們倒倨倸俷倒値倸俷俱倗倸倢倲俸倗倝倗倥倸倝倥俱 倚倢倒倅倢倄倩俷倡倗倰俷倥倒倰倛們倧倝倉倰倎値倸俷倅倧倸倉倉倝倉
倛倕値倉倰倇倥倒倉倝倦倹俷倴個
倰俹値倉倕倥倸倳倉倅倣倉倢倉
倰俹値倉倕倥倸倄倩倰倛們倧倝倉俸倠倴們倸倚倡俷倰俱倅倰倛倷倉倛倕値倉倰倇倥倒倉倰倕倒倱們倹倱倅倸倉倹倝倒 倰俲倢倰倄値倉倅倓俷倴個倇倥倸倇倥倸倉倡倸俷倅倓俷俱倕倢俷倱倆倗倱倓俱 俻倦倸俷倰個倷倉 “倇倥倸倉倡倸俷倎値倰倘候俲倝俷倉倡俱倰倓倥倒倉倓倠倄倡倊倛倡倗俱倠倇値” 倇倥倸個俱倅値倴們倸們倥倳俴倓俱倕倹倢倉倡倸俷 倲倒倉倰個倹倴倗倹倊倉倲倅债倠 倱倕倹倗倏倨倊倅倡倗倕俷倉倝倉倅倸倝倇倡倉倇倥
俴倉倓倝倊俲倹倢俷倄倩倰倛們倧倝倉俸倠俺値倉俺倢俱倡倊倰倓倧倸倝俷倉倥倹倴個倱倕倹倗
“倉倡倸倉倰俹値倉倕倥倸倰倇倎倰俸倹倢倴們倸倳俺倸倰倛倓倝? 倴倄倹倒値倉們倢倗倸倢倰俲倢倰倓倥倒倉個倥倚倝俷俱倷倅倥倎値們倎值倊倇俴倗倢們倗値俸倡倒倳倉俷倢倉個倓倠俺倨們倓倠倄倡倊倲倕俱倱倕倹倗 倉倡俱倗値俺倢俱倢倓倰倛倒倢倰倕倒倝倉倨俽倢倅倎値倰倘候倗倸倢倴們倸倅倹倝俷倚倸俷俱倢倓倊倹倢倉俱倷倴倄倹” 倲俸倗倝倗倥倸倇倥倸倝倒倩倸俲倹倢俷倶 倄倡倉倱倗倸倉倅倢 倉倹倣倰倚倥倒俷倰倅倷們倴個倄倹倗倒俴倗倢們俺倧倸倉俺們
倛倕値倉倰倇倥倒倉俸倹倝俷們倝俷倇倹倢倒倇倝倒俲倝俷倰俹値倉倕倥倸倰俲們倷俷 個倢俱俱倢倳倉們倧倝倱倇倊俸倠倆倩俱倊倥倊俸倉倛倡俱
倇倥倸倱倇倹 倉倥倸俴倧倝俺倸倝俷倗倸倢俷倓倠倛倗倸倢俷俱倡倉俷倡倹倉倛倓倧倝?
倰俲倢倳倉倲倓俷倰倓倥倒倉們倡倈倒們倰俸倥倒俷倰俹値俷倱倛倸俷倇倥倸倛倉倦倸俷俴倧倝 “倰倇倎倰俸倹倢” 倇倥倸倌倩倹俴倉俱倓倢倊倴倛倗倹 倰個倷倉俸倝倛俷倗倉倚倢倒倗値倇倒值俲倝俷倇倡倹俷們倃倁倕 倱倅倸倅倸倝倛倉倹倢倰俹値倉倕倥倸 倅倸倝倛倉倹倢俴倉倇倥倸倒倧倉倝倒倩倸倊倉俸倨倄倚倩俷倚倨倄倇倢俷倗値俺倢俱倢倓倰倛倕倸倢倉倥倹 倰俲倢俱倷倒倡俷俴俷倰個倷倉倰倎倥倒俷俴倉倴倓倹倅倡倗倅倉
俱倓値倸俷倰俲倹倢倰倓倥倒倉倄倡俷俲倦倹倉
倛倹倝俷倰倓倥倒倉倰俷倥倒倊俱倓値倊倕俷倇倡倉倇倥 俺倢倒俺倓倢倌們倚倥倰俷値倉倇倡倹俷倘倥倓候倠倱倅倸倄倩倇倸倢倇倢俷倱俲倷俷倱倓俷倰倄値倉俲倦倹倉們倢倊倉倰倗倇倥 倰俲倢倴們倸倴倄倹倆倧倝倰倝俱倚倢倓個倓倠俱倝倊俱倢倓倚倝倉倳倄倶 們倢倄倹倗倒 倱倕倠倴們倸倴倄倹倰個値倄倎倥倎倥倇倥 倰倎倥倒俷倱俴倸倛倒値倊俺倝倕值俱俲倦倹倉們倢倰俲倥倒倉俴倣倐倢候倢倝倡俷俱倔候俷倸倢倒倶 俴倣倛倉倦倸俷倊倉俱倓倠倄倢倉:
Computation (俱倢倓俴倣倉倗倃)
“倉倡俱倘倦俱候倢倇倨俱俴倉 倒値倉倄倥倅倹倝倉倓倡倊倚倩倸倛倹倝俷倰倓倥倒倉倰倛倒倢”
倉倹倣倰倚倥倒俷俲倝俷倉倡俱倗値俺倢俱倢倓倰倛倒倢倉倨倸們倉倗倕倱倅倸倇倓俷倎倕倡俷 倱倍俷倴個倄倹倗倒俴倗倢們倚俷倸倢俷倢們倱倊倊倉倡俱倗値俺倢俱倢倓
“倇倥倸倉倥倸 倰倓倢俸倠倴們倸倚倝倉倎倗俱倰倈倝倗倸倢倅倹倝俷倰俲倥倒倉倲俴倹倄倝倒倸倢俷倴倓 倰倓倧倸倝俷倰俲倥倒倉倲俴倹倄倉倡倸倉倰個倷倉倛倉倹倢倇倥倸俲倝俷倗値倇倒倢倕倡倒倰倇俴倉値俴倛倕倢倉倰倚倥倒俷”
倰倚倥倒俷倛倡倗倰倓倢倠倄倹倗倒俴倗倢們倰倝倷倉倄倩倄倡俷俲倦倹倉俸倢俱倄倹倢倉倕倸倢俷
“倚値倸俷倇倥倸倰倓倢倅倹倝俷倰倓倥倒倉倓倩倹俴倧倝倱俱倸倉倱倇倹俲倝俷俱倢倓俴倣倉倗倃 倝倠倴倓倇倣倳倛倹俺値個俻値倕値俱倝倉俱倝俷倛倉倦倸俷倰俱値倄倅倓倓俱倠俲倦倹倉們倢倴倄倹? 倝倠倴倓倰個倷倉倅倡倗俱倣倛倉倄倗倸倢個倡俽倛倢倛倉倦倸俷俸倠倴倄倹倓倡倊俱倢倓倱俱倹倴俲倛倓倧倝倴們倸? 倇倡倗倓値俷俴値倄倰倓倧倸倝俷倉倥倹倝倝俱倳倉個倥 1936 俸倦俷倴倄倹倰俱値倄俴倝們倎値倗倰倅倝倓值俲倦倹倉們倢 倗倡倉倉倥倹倰倓倢俸倠倰倄値倉倅倢們倓倝倒倰倇倹倢俲倝俷倰俲倢倱倕倠俱倹倢倗倰倄値倉倴個倎倓倹倝們俱倡倉倝倥俱俴倓倡倹俷”
倉倡俱倗値俺倢俱倢倓倰倛倒倢倛倡倉倛倕倡俷俱倕倡倊 倱倕倹倗倰倓値倸們倰俲倥倒倉俱倓倠倄倢倉
倴們倸們倥倐倢候倢倲個倓倱俱倓們倇倥倸倰俹倎倢倠倰俸倢倠俸俷 倴們倸們倥倴倗倒倢俱倓倃值俲倝俷 C++ 倱倕倠倴們倸們倥倝倝倊倰俸俱倅值俲倝俷 Java 倚値倸俷倇倥倸個倓倢俱俿倊倉俱倓倠倄倢倉俴倧倝倚倡俽倕倡俱候倃值倇倢俷俴倃値倅倘倢倚倅倓值倇倥倸倰個倷倉倉倢們倈倓倓們俺倨倄倱倕倹倗俺倨倄倰倕倸倢 倱倕倠倱倌倉倐倢倎倅倓倓俱倠倇倥倸個倓倠俱倝倊俲倦倹倉俸倢俱倰俴倓倧倸倝俷倚倆倢倉倠
“倚們們倅値倗倸倢倰倓倢們倥倱倆倊俱倓倠倄倢候倇倥倸倒倢倗倴們倸倚値倹倉倚倨倄倛倉倦倸俷倰倚倹倉 俱倡倊倛倡倗倝倸倢倉倰俲倥倒倉倛倉倦倸俷倝倡倉……”
倛倕値倉倰倇倥倒倉俸倹倝俷俱倓倠倄倢倉倴們倸倗倢俷倅倢 倳倉倅倝倉倱倓俱倰俲倢倒倡俷倎倝倅倢們倇倡倉 倉倥倸俴倧倝倓倩個倱倊倊倎倧倹倉倀倢倉俲倝俷倰俴倓倧倸倝俷俸倡俱倓倇倡倗倓値俷倇倥倸倰俲倢倰俴倒倰倓倥倒倉倄倹倗倒倅倡倗倰倝俷們倢倊倹倢俷倳倉俺倸倗俷個値倄倰倇倝們倔倄倩倓倹倝倉
倱倅倸倰們倧倸倝倰倉倧倹倝倛倢倕倦俱俻倦倹俷俲倦倹倉倰倓倧倸倝倒倶 倚倡俽倕倡俱候倃值倰倛倕倸倢倉倡倹倉俱倷倰倓値倸們俱倕倢倒倰個倷倉倚値倸俷倇倥倸倱個倕俱倛倉倹倢倱倕倠倉倸倢倛倗倢倄倛倗倡倸倉
“個倡俽倛倢個倓倠倰倐倇 P”, “個倡俽倛倢個倓倠倰倐倇 NP”, “個倡俽倛倢俱倢倓倛倒倨倄倇倣俷倢倉”, “倇倔候俾倥倊倇俴倗倢們倴們倸倚們倊倩倓倃值俲倝俷倰俱倝倰倄倕”……
倱倉倗俴値倄倰倛倕倸倢倉倥倹倇倸倗們倇倹倉倛倕値倉倰倇倥倒倉倳倉倇倡倉倇倥 倰俲倢倓倩倹倚倦俱倗倸倢倅倡倗倰倝俷倴們倸倳俺倸倲個倓倱俱倓們倰們倝倓值倝倥俱倅倸倝倴個 倱倅倸倰個倷倉倉倡俱倰倓倥倒倉個倓倠倆們倇倥倸俱倣倕倡俷倎倒倢倒倢們倇倣俴倗倢們倰俲倹倢倳俸俴倗倢們倛們倢倒倕倦俱倕倡倊俲倡倹倉倚倩俷倚倨倄俲倝俷俸倡俱倓倗倢倕
倰倇俴倉値俴俱倢倓倰俲倥倒倉倲個倓倱俱倓們倇倥倸倰俲倢倰俴倒倐倢俴倐倩們値倳俸 倇倡倹俷俱倢倓倗倉倕倩個 俱倢倓倅倡倄倚値倉倳俸 俱倢倓倄倣倰倉値倉俱倢倓俱倡倊倎倝倒倉值倰倅倝倓值 倚値倸俷倰倛倕倸倢倉倥倹倴們倸倚倢們倢倓倆倉倣們倢倳俺倹個倓倠倲倒俺倉值倴倄倹倰倕倒倳倉倇倥倸倉倥倹 倇倥倸倉倥倸俱倣倕倡俷倚倉倇倉倢俱倡倉倆倦俷倅倓倓俱倠倝倡倉倊倓値倚倨倇倈値值 倰個倷倉個倓倡俺俽倢倇倢俷俴倃値倅倘倢倚倅倓值
倰俲倢倛倡倉倴個們倝俷倲俸倗倝倗倥倸倇倥倸倉倡倸俷俲倹倢俷倶
倛們倝倉倥倸俱倣倕倡俷倅倢倰個倷倉個倓倠俱倢倒 個倢俱俱倢倳倉們倧倝俴倣倉倗倃倚倩倅倓倊倉俱倓倠倄倢候倝倒倸倢俷倓倗倄倰倓倷倗 個倢俱俱倷倎倦們倎倣: “倚倨倄倒倝倄… 倇倥倸倱倇倹俱倷倳俺倹倇倔候俾倥倰俻倅們倢倝倈値倊倢倒俱倢倓倰個倕倥倸倒倉倌倸倢倉倚倆倢倉倠倉倥倹倴倄倹倉倥倸倰倝俷……”
倚倸倗倉倰俹値倉倕倥倸倇倥倸倏倨倊倛倕倡倊倝倒倩倸倱倆倗倛倉倹倢 倴們倸倓倩倹倗倸倢倕倨俱俲倦倹倉們倢倅倝倉倴倛倉 倰俲倢倴們倸倴倄倹俸倄倊倡倉倇倦俱 倰倎倥倒俷倱俴倸倰倇倹倢俴倢俷們倝俷俱倓倠倄倢倉 倱倕倹倗倎倒倡俱倛倉倹倢倰倊倢倶 倰個倷倉倓倠倒倠 倓倢倗俱倡倊俱倣倕倡俷倚倉倇倉倢倱倊倊倴倓倹倰倚倥倒俷俱倡倊倉倡俱倗値俺倢俱倢倓倰倛倒倢倝倒倩倸
倛倕値倉倰倇倥倒倉俱倹們倛倉倹倢倕俷 們倝俷倚們倨倄倊倡倉倇倦俱俲倝俷倅倡倗倰倝俷倇倥倸們倥俴倣倘倡倎倇值倴們倸俱倥倸俴倣倇倥倸倰俲倥倒倉倱倊倊俱倓倠俸倡倄俱倓倠俸倢倒倱倕倠倚倠俱倄倌値倄 俴倗倢們倓倩倹倚倦俱倅倧倸倉倅倓倠倛倉俱們倛倢倘倢倕倆倢倲倆們倰俲倹倢們倢倳倉倛倡倗倳俸
倰俲倢倴們倸倰俲倹倢倳俸倰倕倒
倰俲倢俴倧倝俸倝倛俷倗倉倚倢倒倗値倇倒值俲倝俷倇倡倹俷們倃倁倕 倴倄倹俴倠倱倉倉倰倅倷們倗値俺倢倗値倇倒倢倘倢倚倅倓值倓倗們 倱倅倸倰俲倢倴們倸倰俲倹倢倳俸俸倓値俷倶
們倡倉倰倛們倧倝倉俱倡倊倒倝倄倍倥們倧倝倇倥倸倍倦俱們倗倒倐倢倒倉倝俱們倢倅倕倝倄俺倥倗値倅 俸倩倸倶 倆倩俱倲倒倉倰俲倹倢倴個倳倉倲倕俱俲倝俷俱倢倓倊倣倰倎倷俽倰俻倥倒倉 俴倉倝倧倸倉倅倸倢俷倰倛倢倠倰倛値倉倄倹倗倒俱倓倠倊倥倸 倚倉倇倉倢俱倡倉倆倦俷倗値倆倥倱倛倸俷倚倗倓倓俴值 倚倸倗倉倰俲倢倒倡俷俴俷倛們俱們倨倸倉倝倒倩倸俱倡倊俱倢倓倍倦俱俺俱倳倛倹倛倉倡俱倛倉倸倗俷俱倗倸倢倰倄値們
俱倢倓倲俸們倅倥俲倹倢們們値倅値倳倉倓倠倄倡倊倉倥倹 倇倣倳倛倹倚値倹倉倛倗倡俷倒値倸俷俱倗倸倢俱倢倓倚倝倊倅俱倰倚倥倒倝倥俱
倰倗倕倢倰倎倥倒俷倛倉倦倸俷俴倢倊倰倓倥倒倉 俱倕倡倊俱倕倢倒倰個倷倉倰倗倕倢倒倢倗倉倢倉倰倛倕倧倝倰俱値倉倳倉俴倗倢們倇倓們倢倉俲倝俷倛倕値倉倰倇倥倒倉
倰們倧倸倝俱倓値倸俷倰倕値俱倰倓倥倒倉倄倡俷俲倦倹倉倳倉倇倥倸倚倨倄 倛倕値倉倰倇倥倒倉倓倩倹倚倦俱倰倛們倧倝倉倰倎値倸俷倆倩俱俷們俲倦倹倉們倢俸倢俱倉倹倣 倱倌倸倉倛倕倡俷倰個倥倒俱俺倨倸們倴個倛們倄
“倰倞倹倒 倛倕値倉倰倇倥倒倉 倰們倧倸倝俱倥倹倅倝倉倇倥倸倉倡俱倗値俺倢俱倢倓倰倛倒倢倝倈値倊倢倒倊倇倎値倚倩俸倉值倰倓倧倸倝俷個倡俽倛倢 NP-complete 倉倸倠 倉倢倒倰俲倹倢倳俸倴倛們? 俹倡倉倗倸倢俱倓倠倊倗倉俱倢倓倕倄倓倩個倉倡倹倉們倡倉倰倇倎倚倨倄倶 倰倕倒!” 倲俸倗倝倗倥倸倰俱倷倊俱倓倠倰個倻倢倝倒倸倢俷倅倧倸倉倰倅倹倉 倱倕倹倗倛倡倉們倢倆倢們倛倕値倉倰倇倥倒倉
倛倕値倉倰倇倥倒倉倝倹倢個倢俱俴倹倢俷
“俹倡倉……俴俷倅倹倝俷俲倝倰倗倕倢倇倣俴倗倢們倰俲倹倢倳俸倝倥俱倉値倄” 倰俲倢倍倧倉倒値倹們倝倝俱們倢
倰倄値倉倝倝俱俸倢俱倝倢俴倢倓倰倓倥倒倉 倱倚俷倱倄倄俲倹倢俷倉倝俱俸倹倢俸倉倇倣倳倛倹倓倩倹倚倦俱倰倗倥倒倉倛倡倗
倛倕値倉倰倇倥倒倉倴們倸倴倄倹俱倕倡倊倛倝倎倡俱 倱倕倠倴們倸倴倄倹倴個倲倓俷倝倢倛倢倓 倰俲倢倰倄値倉倝倒倸倢俷倰倛們倸倝倕倝倒倴個倇倥倸倓値們倚倓倠倊倡倗俲倝俷們倛倢倗値倇倒倢倕倡倒俺値俷倛倡倗倰倎倥倒俷倕倣倎倡俷
倇倥倸倉倥倸俴倧倝倚倆倢倉倇倥倸倇倥倸俸倩俸倧倸倝俺値俷倰俲倥倒倉倰倓倧倸倝俷 “倱倚俷俸倡倉倇倓值倓値們倚倓倠倊倡倗” 倇値倗倇倡倘倉值倚倗倒俷倢們們倢俱 倱倅倸倳倉倰倗倕倢倉倥倹倳倉倚倢倒倅倢俲倝俷倛倕値倉倰倇倥倒倉俱倕倡倊們倥倰倎倥倒俷倉倹倣倳倉倚倓倠倇倥倸俲倨倸倉們倡倗倰倇倸倢倉倡倹倉
倰俲倢倛倒値倊倲倇倓倘倡倎倇值倲倉倰俱倥倒 N70 倇倥倸倰倎値倸俷俻倧倹倝們倢倰倎倧倸倝倰俲倹倢們倛倢倗値倇倒倢倕倡倒 倰倕倧倸倝倉倍倢倰個値倄倝倝俱 倱倕倹倗倰個値倄倱倝個俴値倗俴値倗倝倒倸倢俷俺倣倉倢俽
倓倢倒俺倧倸倝倅値倄倅倸倝倇倥倸個倡俱倛們倨倄倴倗倹俴倧倝 “倝倢俸倢倓倒值倛倒倢俷”
倰俲倢倎値們倎值俲倹倝俴倗倢們倛倉倦倸俷倊倓倓倇倡倄倕俷倳倉俺倸倝俷倳倚倸俲倹倝俴倗倢們:
“倝倢俸倢倓倒值俴倓倡倊 倌們倓倩倹倚倦俱倗倸倢倌們倴們倸倴倛倗 倎倗俱倰俲倢倰俱倸俷倰俱値倉倴個 倌們倏倡俷倴們倸倓倩倹倰倓倧倸倝俷倰倕倒”
倉値倹倗倲個倹俷俴倹倢俷倝倒倩倸倊倉個倨倸們 “倚倸俷” 倝倒倸倢俷倚倡倸倉倰倇倢
倰俲倢倉倦俱倆倦俷俴倣倎倩倄倇倥倸倛倒倢俷倛們値俷倝倗倥倸倰俴倒倅倊倴倛倕倸倱倕倹倗倎倩倄俱倡倊倰俲倢
“倛倕値倉倰倇倥倒倉 倰們倧倸倝倆倦俷們倛倢倗値倇倒倢倕倡倒 倰倈倝俸倠倎倊倗倸倢倅倡倗倰倝俷倉倡倹倉倰倕倷俱俸倹倝倒 倱倅倸倉倡倸倉倴們倸倳俺倸倰倓倧倸倝俷倉倸倢俱倕倡倗 倚値倸俷倇倥倸倉倸倢俱倕倡倗俴倧倝俱倢倓倇倥倸倰倈倝倛倄倅倡倗倰倝俷倳倛倹倰倕倷俱倕俷倴個倝倥俱倰倎倥倒俷倰倎倓倢倠俴倗倢們倓倩倹倚倦俱倗倸倢倅倡倗倰倝俷倰倕倷俱俸倹倝倒”
“俸倣倴倗倹 倰倈倝倝倝俱們倢俸倢俱倛倹倝俷 14 俴倉倛倹倝俷 14 俲倝俷倰倓倢 倱倎倹倴倄倹 倱倅倸倅倹倝俷倴們倸倆倝倒”
倛倕値倉倰倇倥倒倉倛倕倡倊倅倢倕俷 倚倩倄倛倢倒倳俸倰俲倹倢倕倦俱倶
倳倉倝倢俱倢倘們倥俱倕値倸倉倛倝們俲倝俷倳倊倊倡倗 倱倕倠倴倝倰倒倷倉俸倢俷倶 俲倝俷倅倹倉倔倄倩倳倊倴們倹倓倸倗俷
倰俲倢倕倊俲倹倝俴倗倢們倳倉俺倸倝俷倳倚倸俲倹倝俴倗倢們倝倝俱倇倥倕倠倅倡倗
俸倢俱倉倡倹倉 倰俲倢俱倷倎値們倎值俲倹倝俴倗倢們倳倛們倸倕俷倴個 倱倕倹倗俱倄倚倸俷:
“倝倢俸倢倓倒值俴倓倡倊 俴倕倢倚俲倝俷倉倡俱倗値俺倢俱倢倓倰倛倒倢倕倦俱俻倦倹俷們倢俱 倱倅倸倌們俸倠俸倡倄俱倢倓們倡倉倳倛倹倴倄倹 倰倛們倧倝倉俱倡倊倇倥倸倰俴倒俸倡倄俱倢倓倰俱們倉倡倹倉倳倉倚們倡倒俱倸倝倉俴倓倡倊”
個値倄倲倇倓倘倡倎倇值 倛倕値倉倰倇倥倒倉倕倧們倅倢俲倦倹倉 倱倗倗倅倢俱倕倡倊們倢倰俹倥倒倊俴們倝倥俱俴倓倡倹俷
俱倷倱俴倸倰俴倓倧倸倝俷俸倡俱倓倇倡倗倓値俷倴們倸倳俺倸倛倓倧倝? 俱倷倱俴倸俴倃値倅倘倢倚倅倓值倴們倸倳俺倸倛倓倧倝?
俴倉倝倒倸倢俷俲倹倢倰俴倒倚倝倊俸倢俱倇倥倸倲倛倕倸俲倝俷倲倓俷倰倓倥倒倉俸倉俱倕倢倒倰個倷倉俸倝倛俷倗倉倓倠倄倡倊們倃倁倕們倢倱倕倹倗 俸倠們倢倆倩俱倚倩倅倓倴們倸俱倥倸倚倩倅倓倇倣倳倛倹俱倕倡倗俸倉倅倢倒倴倄倹倒倡俷倴俷?
“倲俸倗倝倗倥倸”
倛倕値倉倰倇倥倒倉倛倡倉倛倕倡俷俱倕倡倊 倰倄値倉倰倓倷倗倶 倅倢們倰倎倧倸倝倉倓倸倗們倛倹倝俷倇倥倸倝倒倩倸俲倹倢俷倛倉倹倢倴個
“倊倇倎値倚倩俸倉值倰倓倧倸倝俷個倡俽倛倢 NP 倰們倧倸倝俱倥倹 倉倢倒倎倝俸倠倳倛倹俹倡倉倒倧們倚們倨倄俸倄們倢倄倩倴倄倹倴倛們? 倱倕倹倗俱倷倉倠 TopCoder 倇倥倸倉倢倒倎倩倄倆倦俷倉倸倠 俴倧倉倉倥倹俺倸倗倒倚倝倉俹倡倉倚們倡俴倓倛倉倸倝倒倚値”
倲俸倗倝倗倥倸倝倦倹俷倴個俴倓倩倸倛倉倦倸俷 俱倸倝倉俸倠倰倌倒倓倝倒倒値倹們俻倧倸倝倶: “倴倄倹倚値! 倱倅倸倉倢倒倅倹倝俷倰倕倥倹倒俷們倧倹倝倄倦俱俹倡倉倉倠 俹倡倉倝倒倢俱俱値倉俲倹倢倗倰倒倷倉倒倸倢俷倇倥倸個倓倠倅倩倇値倘倅倠倗倡倉倅俱!”
“倴們倸們倥個倡俽倛倢 倳倚倸倴俲倸倚倝俷倏倝俷倰倕倒!”
倐倢倒倳倅倹倱倚俷倝倢倇値倅倒值倝倡倚倄俷 倰俷倢俲倝俷倰倄倷俱倛倉倨倸們倇倡倹俷倚倝俷倇倝倄倒倢倗倝倝俱倴個