發表文章

[Zj b838][104北二區桃竹苗基資訊學科能力複賽] 括號問題

 題目連結: https://zerojudge.tw/ShowProblem?problemid=b838 思考過程:原先想說「遍歷整個字串後,如果左括號數量等於右括號數量,則答案為正確。」。可不可行呢?? 答案是不行,因為假設出現像「))((」的字串就會出錯。 想法1:如果是「(」就push進stack,是「)」且stack的top等於「(」就進行pop操作,否則就把「)」push進stack。假如遍歷完字串後stack為empty,則答案為正確。 想法2:設兩變數L和R紀錄左、右括號的數量。只要任意時間點R>L,答案必為錯。如果最終L等於R則答案為正確。 cpp code: 想法1: https://github.com/Pizza-Man217/Zerojudge-solutions/blob/master/b838-1.cpp 想法2: https://github.com/Pizza-Man217/Zerojudge-solutions/blob/master/b838-2.cpp

[Zj c005] [UVA 10300] Ecological Premium

題目連結: https://zerojudge.tw/ShowProblem?problemid=c005 想法:照原題模擬即可,須注意運算過程中可能會出現溢位。 C++ code: https://github.com/Pizza-Man217/Zerojudge-solutions/blob/master/c005.cpp

[Zj d039][UVA 11044] Searching for Nessy

 題目連結: https://zerojudge.tw/ShowProblem?problemid=d039 想法一:因為題目說" 邊緣的格子不需要監控 ",所以可以將長、寬都先減2,再把長、寬分別除以3再無條件進位之後的結果相乘就是答案了。 想法二:可利用C++除法無條件捨去的特性,直接把長、寬分別除以3後的結果相乘起來就是答案了。 code: https://github.com/Pizza-Man217/Zerojudge-solutions/blob/master/d039.cpp

[Zj c006] [UVA 10550] c006:Combination Lock

題目連結: https://zerojudge.tw/ShowProblem?problemid=c006 想法:轉盤順時針轉,數字就是逆時針轉。 code: https://github.com/Pizza-Man217/Zerojudge-solutions/blob/master/c006.cpp#L4

[Zj c076] [UVA 00591] Box of Bricks

 題目連結: https://zerojudge.tw/ShowProblem?problemid=c067https://zerojudge.tw/ShowProblem?problemid=c067 題意: 給你n堆方塊,搬動最少數目的方塊使每堆(總堆數同n)的方塊數量相同。輸出最小數目。保證有正解。 code:  https://github.com/Pizza-Man217/Zerojudge-solutions/blob/master/c067.cpp

[Zj e511] [UVA 11364]-Parking

題目連結: https://zerojudge.tw/ShowProblem?problemid=e511 題意: 給定數線上n個整數點xi的位置,求一個點p能最小化從p走過所有xi再回到p的距離。輸出最短距離。 想法: 不論如何選擇,最短距離始終是 (最大xi-最小xi)*2 code: https://github.com/Pizza-Man217/Zerojudge-solutions/blob/master/e511.cpp

這個網誌中的熱門文章

[Zj e511] [UVA 11364]-Parking

[Zj b838][104北二區桃竹苗基資訊學科能力複賽] 括號問題

[Zj d039][UVA 11044] Searching for Nessy