Kattis The Last Problem
The Last Problem 題目連結:The Last Problem 題目大意 有禮貌的彩虹小馬(?) 解題重點 練習解題系統操作 <?php while (fscanf(STDIN, "%[ -~]", $name)) { fprintf(STDOUT, "Thank you, %s, and farewell!\n", $name); } 陷阱提示 要小心名字會有空白 完整解法 (真的不會再來參考)
The Last Problem 題目連結:The Last Problem 題目大意 有禮貌的彩虹小馬(?) 解題重點 練習解題系統操作 <?php while (fscanf(STDIN, "%[ -~]", $name)) { fprintf(STDOUT, "Thank you, %s, and farewell!\n", $name); } 陷阱提示 要小心名字會有空白 完整解法 (真的不會再來參考)
Faktor 題目連結:Faktor 題目大意 你是一名科學期刊的編輯,由於成本考量,你必須要計算最合理的文章數量。 解題重點 一點點數學思考 <?php while (fscanf(STDIN, "%d %d", $a, $i)) { fprintf(STDOUT, "%d", $a * ($i - 1) + 1); } 陷阱提示 無條件進位的最小值就是整除後 + 1 完整解法 (真的不會再來參考)
Planina 題目連結:Planina 題目大意 計算黑與白相間的黑白棋數量 解題重點 公式化變化規則 <?php while (fscanf(STDIN, "%d", $i)) { $ans[0] = 2; for ($x = 0, $y = $ans[$x]; $x < 15; ++ $x) { $ans[$x + 1] = pow(($y + pow(2, $x)), 2); $y = ($y + pow(2, $x)); } fprintf(STDOUT, "%d", $ans[$i]); } 陷阱提示 可以把計算過的結果儲存起來,避免重複計算 完整解法 (真的不會再來參考)
Roaming Romans 題目連結:Roaming Romans 題目大意 古代是鞋子不是削足適履嗎(誤 我們要做一個尺寸轉換的程式,幫忙算羅馬人的腳 Size? 解題重點 練習讀取資料並透過公式做單位轉換 <?php while (fscanf(STDIN, "%f", $i)) { fprintf(STDOUT, "%d\n", round($i * 1000 * 5280 / 4854)); } 陷阱提示 記得要四捨五入呀 完整解法 (真的不會再來參考)
R2 題目連結:R2 題目大意 練習用程式解數學題 解題重點 公式: 2*S – R1 <?php while (fscanf(STDIN, "%d %d", $r1, $s)) { fprintf(STDOUT, "%d\n", 2 * $s - $r1); } 陷阱提示 數學先乘除後加減 完整解法 (真的不會再來參考)
Solving for Carrots 題目連結:Solving for Carrots 題目大意 吃胡蘿蔔對視力很好… 但是我就是不愛 XD 解題重點 練習讀取變數,其實就是直接印出 P 值就好 <?php while (fscanf(STDIN, "%d %d", $r1, $s)) { fprintf(STDOUT, "%d\n", $s); } 陷阱提示 如何取得第二個數字? 完整解法 (真的不會再來參考)
Hello World! 題目連結:Hello World! 題目大意 就是寫程式的第一步:印出 Hello World! 解題重點 練習解題系統操作 <?php echo 'Hello World!'; 陷阱提示 沒有陷阱 完整解法 (真的不會再來參考)
有貓不推嗎? Kattis 是一個練習程式解題的網站,它是集結各種程式比賽題目的搜集站。算是一個精華懶人包的地方,加上網站設計簡潔,還支援多種程式語言解題(高達 22 種,最近很夯的 Rust 也有唷!) 因為程式解題,通常都需要一個審判系統(自動批改答案,確定所提交的程式有正確執行並答案相符) 所以這隻法官貓就出現啦~ 解題流程 非常輕易上手,基本上就是題目,以及一個提交鍵就結束了! 各種程式語言的解題範例可以參考這邊: Help 這邊要按照網站所用的輸入輸出的方式作答,基本上就沒問題了 PHP 讀取測試資料方式 while (fscanf(STDIN, '%d%d', $number1, $number2) === 2){ // Solve the test case and output the answer } PHP 輸出答案方式 fprintf(STDOUT, "%d\n", res); 解題結果 題目所有人的解題狀態統計 可以看哪個程式語言最快 特定程式語言解題情況 透過以上結果分析,讓自己更進步,也會發現一山還有一山高啊~ 但是當自己寫出來的方法又快又好的話,就會有滿滿的成就感! 排名系統 全世界排名還有評分 0050 前十名大學排名 剛好台灣只有十所大學有人解題(排名也是總合同大學的人排名) 是說實踐剛剛好第十名就上榜啦,只有一個人(就是我啦 XD) 每天看著自己慢慢解題,慢慢爬升名次很有成就感,而且會讓人有動力繼續解題下去。未來網站也會有解題的文章,有興趣的同學再多多回來討論~也歡迎交流各種題目或者解法!