以下說明以C++為主,其他語言的情況可能不同:
要寫簡潔的代碼,首先是熟悉妳的工具,我hack別人的時候就看到很多冗余的代碼在實現很多庫裏面已有的功能,很多人也不用簡潔的語法比如lambda, range-for, auto等等。我建議先看下reference, 所有的東西都大概有個印象,常用的庫要熟到基本不用翻reference。
很多情況下算法競賽不需要編寫容易維護的代碼,可以多用用逗號表達式和三元等等,加快速度和使代碼更簡潔。當然要給別人改錯或者學習的話formatting和註釋是必不可少的。
剩下的就應該是壹些細節方面,靠多讀高手的代碼,看看他們是怎麽處理這些問題的,這裏高手不只是算法競賽方面,例如 Bjarne Stroustrup 的 The C++ Programming Language 就是很好的讀物。Stackoverflow上的問題也很有啟發性。