ZeroJudge A799: 正值國 取得連結 Facebook Twitter Pinterest 以電子郵件傳送 其他應用程式 1月 07, 2024 題目敘述每筆輸入都只有一個整數N,要求輸出絕對值的N。範例輸入-5範例輸出5解題思路使用abs(N)直接輸出即可。解題程式碼如下 (僅供參考):#include <iostream> #include <stdio.h> using namespace std; int main() { int N; scanf("%d", &N); printf("%d\n", abs(N)); } 取得連結 Facebook Twitter Pinterest 以電子郵件傳送 其他應用程式 留言
ZeroJudge M933: 邏輯電路 1月 09, 2024 題目敘述 每筆資料第一行有四個正整數P、Q、R、M,下一行會有P個整數 (0或1) 代表輸入端口的數值,接下來會有Q個正整數代表邏輯端的判斷類型 (1 為 AND、2 為 OR、3 為 XOR、4 為 NOT)。最後會有M行,每行有兩個正整數A和B,代表從A點到B點有一條線。點的命名方式可以餐考以下圖片,圖片為範例輸入/輸出 #1的解析圖。 要求輸出延遲的秒數 (會在解題思路中解釋) 和輸出端點的值。 範例輸入 #1 4 5 4 13 1 0 1 0 1 2 3 4 1 1 5 2 5 2 6 3 6 3 7 4 7 4 8 5 10 6 9 6 11 7 9 8 13 9 12 範例輸出 #1 2 0 1 1 1 範例輸入 #2 5 6 4 15 1 1 0 1 0 2 1 3 4 1 3 1 6 2 7 7 13 7 6 3 7 3 8 4 8 5 9 8 10 9 10 10 14 10 11 9 11 6 12 11 15 範例輸出 #2 3 1 0 1 0 解題思路 可以使用一個struct來存取每一個端點/邏輯端的數值,將資料都收到struct中之後,使用BFS先跑輸入端點,將輸入端點的終點值的起點值存成目前的數字。經過判斷已經可以做邏輯端的運算後就可以將運算過後的值放到struct中存輸出值的變數。延遲的部分只需判斷跑了幾次的BFS再-1即可。 Read more »
ZeroJudge A148: You Cannot Pass?! 12月 19, 2023 題目敘述 題目採EOF收資料方式處理,每行第一個數字 N 為接下來所需要收的成績數量。當 N 個數字的平均值 (需使用Float/Double進行計算) 「大於」59的話就輸出「no」,反之則輸出「yes」。 範例輸入 1 60 3 0 80 75 5 61 61 61 61 55 範例輸出 no yes no 測資解釋 第一行的第一個數為1,代表接下來要收1個數字。因為60>59所以輸出no。 第二行的第一個數為3,接下來收的3個數字分別為 0、80、75,三個數的平均值為51.6。因為51.6沒有大於59,所以輸出yes。 第三行思路和第二行相同,五個數字的平均值為59.8,因為大於59所以輸出no。 Read more »
ZeroJudge A263: 日期差幾天 12月 21, 2023 題目敘述 題目採EOF收測資。每個測資有兩行,每一行有三個正整數分別代表年、月、日,要求算出這兩個日期差了幾天。 範例輸入 2011 10 19 2011 10 18 範例輸出 1 解題思路 將兩個日期換算成「天」這個最小單位。要注意的是需要判斷閏年出現的次數,也要判斷當前的月份需不需要計算閏年的多一天。最後輸出兩個天數相減的絕對值 (不需判斷大小) 即可。 Read more »
留言
張貼留言