2017年2月7日 星期二

ProjectEuler 585 Solution and Eulerians Rank#6

歐拉人(Eulerians)第6名!!!不敢奢望的名次,居然辦到了!

在一年多以前,還認為前十無望了。如今不僅前十,還位居第六,在我前面只有五個人。而且Perfomance還是100%。以前單題要拿前十,總覺得很困難。久久才能拿一次前十,如今居然在連續的七週中有五週拿到前十!(Problem#580~Problem#586)
Problem#580: rank 7
Problem#581: rank 5
Problem#583: rank 3
Problem#585: rank 7
Problem#586: rank 3
最近手氣簡直不可思議的旺!都不知道自己吃了什麼可以這麼威?而且我的Ratings(積分)還贏過兩個以快聞名的速題手:uwi跟x22,從來都不敢想能贏這兩個人。還好這是一次比一題,而且問題偏向數學的競賽,要是一次比五題,時間2~3小時的那種正規程式競賽。不要說贏uwi了,連他的車尾燈都看不到(這是實話,不是自謙之詞)。


其實這張圖已經是比完ProjectEuler 589題後的Ratings了,586題後積分就停在230分,一共停了4週,(Problem#586, Problem#587,Problem#588,Problem#589),之後完全沒任何分數進帳,不過能在歐拉人前十名停留四週也算夠本了。說也奇怪,已經連三周沒增加任何分了,Ratings同樣是230分,排名卻從剛解完586題的第八名,上昇到本週的第六名。

最後將Problem 586 Rank#3 的圖片拍了下來,留作紀念,以後要拿前三機會不太多了。
雖然Problem 586拿到第3,但進去論壇後還是有點小失望,據grechnik指出,這答案是錯的,這答案僅限於a > b > 0,而不是一開始題目所要求的a >= b > 0,我和ProjectEuler題目的開發團隊都少考慮了一種情況,導致我陰錯陽差矇到了這一題,而且還是第三名。而grechnik不僅指出了答案是錯的,還在論壇裡給出了a >= b > 0的正確答案。偉哉grechnik,答案是錯的,他還能在1小時25分左右發現出題者的錯誤而且送出了「正確答案」拿到第一!

由於題目已經出了,而且有那麼多人送出 了「正確答案」而名列在fastest table中(大約7人),比賽總不能重新來過,叫他們把分數吞回去吧。於是管理者只好硬著頭皮把constraints改為a > b > 0,並加註了一小行文字表示constraints曾經更動過,而這增加的小字在愈來愈多人已經讀到正確的題目後變得無存在必要,現已拿掉。

雖然這種烏龍發生不是第一次了,不過我是獲利者,自然不好說些什麼!ProjectEuler第344題,據第一個解出來的Zink說,一開始答案是錯的,他真正解出來的時間應該是2小時再少個幾分鐘,而不是紀錄上顯示的11小時多。不過我7天後才解出來,一點都沒影響到我。ProjectEuler第421題,內定的答案在開頭多了一個空白字符(space),導致多人送出了正確答案但Answer checker字串比對不符,仍判定為WA。使得4小時後仍處於「無人答對」的窘態。不果我那時還很弱,很慢才解出來,自然也沒影響到我。

好吧,這篇標題既然說是Solution,我就來提點一下。586題其實是前面某一題的類似題。說是類似題也太客氣了,根本是一模一樣的題目,只有一個小小的地方不一樣。我之所以才能順利解掉這題就是靠著以前解那題時順手抄下的公式。一模一樣的題目,連公式也一樣。如果ProjectEuler題目的開發團隊沒有犯錯的話,我相信我還是能解掉這題。就算沒有第三,前十應該也是沒問題的。

沒有留言:

張貼留言