8231 分鐘

# 題目: UVa 11078 - Open Credit System # 題目說明 給N個學生的分數,學生的排序為較年長至較年輕,求較年長的學生最多比較年輕的學生多幾分 INPUT: 輸入一個整數T,代表測資數 每筆測資先輸入一個整數N,代表學生的數量 接下來有N個整數,代表學生的成績 (排愈前面代表學生愈年長) OUTPUT: 輸出較年長的學生最多比較年輕的學生多幾分 # 解題方法 由較年長至較年輕遍歷學生的成績,使用一個變數Max紀錄目前最高分,再依序比出差最多的值 # 參考程式碼 #include <iostream> #include <vector&
1.7k2 分鐘

# 題目: UVa 118 - Mutant Flatworld Explorers # 題目說明 給一個x * y大小的棋盤與機器人的位置與朝向 再經過一連串的指令後,求機器人最後的位置與朝向 指令一共有3種 L : 左轉90度 R : 右轉90度 F : 前進一格 當機器人移動超出棋盤時,它就會永遠LOST 每當機器人在一個地方LOST後,它會在原地留下一個記號,避免未來的機器人在同樣的地方LOST INPUT: 先輸入兩個整數x、y,代表棋盤的大小為x * y 每筆測資輸入兩個整數與一個字元,代表一開始的位置與朝向 接著輸入一個字串,代表移動 OUTPUT: 輸出機器人最後的
7351 分鐘

# 題目: UVa 11728 - Alternate Task # 題目說明 給一個正整數N,代表某數的因數和,求某數 INPUT: 每筆測資輸入一個整數N 當N = 0時結束 OUTPUT: 輸出一個因數和剛好為N的正整數 若無則輸出-1 # 解題方法 使用unordered_map建表,將1 ~ 1000的因數和計算出來,再查表輸出答案即可 # 參考程式碼 #include <iostream> #include <unordered_map> using namespace std; static auto fast_io =
7111 分鐘

# 題目: UVa 1260 - Sales # 題目說明 給一連串每日的銷售額,求銷售額大於等於以往銷售額的總數 INPUT: 第一行輸入一個整數t,代表測資數 每筆測資第一行輸入一個整數n 接下來有n個整數,代表每日的銷售額 OUTPUT: 輸出銷售額大於等於以往銷售額的總數 # 解題方法 使用vector儲存資料 直接使用2個迴圈進行判斷即可 # 參考程式碼 #include <iostream> #include <vector> using namespace std; static auto fast_io = [] {
2.2k2 分鐘

# 題目: UVa 12627 - Erratic Expansion # 題目說明 一開始有一顆紅氣球,每過1小時,紅氣球會變成3顆紅氣球與1顆藍氣球、藍氣球會變成4顆藍氣球 求過了k小時後,從第a行到第b行的氣球數和 INPUT: 第一行輸入一個整數t,代表測資數 每筆測資輸入三個整數k、a、b,代表過了k小時,行數a與b OUTPUT: 輸出過了k小時後,從第a行到第b行的氣球數和 # 解題方法 假設以下公式dfs(k, i)為過了k小時後,最下面i行的氣球數和 第a行到第b行的氣球數和可視為第a行到最後一行的氣球數和 - 第b + 1行到最後一行的氣球數和 所以可以寫成 dfs(k
2k2 分鐘

# 題目: UVa 11659 - Informants # 題目說明 題目給n個線人,並給a條規則,求最大可信賴的線人數 線人編號由1 ~ n 若1可信賴,則1說的規則為真 若1不可信賴,則1說的規則可能為真或假 INPUT: 每筆測資先輸入兩個整數n、a,n代表線人數、a代表規則數 接下來有a行,每行輸入兩個整數x、y 若y > 0,代表線人x信賴線人y 若y < 0,代表線人x不信賴線人y OUTPUT: 輸出最大可信賴的線人數 # 解題方法 使用correct與wrong分別儲存信賴與不信賴,儲存分法為2進位 若線人1信賴線人3與4,則表示成correct[1
1.7k2 分鐘

# 題目: UVa 11360 - Have Fun with Matrices # 題目說明 給一個n * n的矩陣,有以下5種指令可以控制矩陣變換,輸出執行完指令的矩陣 row a b : 交換row a與row b col a b : 交換col a與col b inc : 將矩陣所有值+1後取10的餘數 dec : 將矩陣所有值-1後取10的餘數 transpose : 對矩陣進行轉置 INPUT: 第一行輸入一個整數t,代表測資數 每筆測資先輸入一個整數n,代表矩陣的大小 接下來輸入n * n個整數,代表矩陣的值 之後輸入一個整數m,代表指令數 接下來輸入m個字串 OUTPU
1.3k1 分鐘

# 題目: UVa 10326 - The Polynomial Equation # 題目說明 給你一個方程式的n組解,求此方程式展開的樣子 INPUT: 輸入一個整數n,代表方程式有n組解 接下來輸入n個整數,各代表一組解 直到EOF結束 OUTPUT: 輸出展開後的方程式 # 解題方法 假設解為k1, k2, ..., kn,則方程式可以表示成(x - k1) * (x - k2) * ... * (x - kn) = 0 由此可知能透過乘法將方程式展開 (類似於大數乘法) 比較要注意的是這題的輸出格式很複雜 # 參考程式碼 #include <iostream&
1k1 分鐘

# 題目: UVa 13171 - Pixel Art # 題目說明 給m、y、c三種顏色的數量,與使用的顏色,求m、y、c三種顏色的數量是否足夠 (總共有8種顏色,分別會消耗不同數量的m、y、c) INPUT: 第一行輸入一個整數t,代表測資數 接下來有t行 每行有3個整數m、y、c,代表對應顏色的數量 與1個字串str,代表使用的顏色 OUTPUT: 輸出m、y、c的數量是否足夠 足夠則輸出YES與m、y、c的剩餘數量 不夠則輸出NO # 解題方法 每使用一種顏色,直接減去m、y、c的數量 若最後都大於零則為足夠 # 參考程式碼 #include <iostream>
1.2k1 分鐘

# 題目: UVa 10642 - Can You Solve It # 題目說明 給一個平面座標的移動規則 (0, 0) -> (0, 1) -> (1, 0) -> (0, 2) -> (1, 1) -> (2, 0) -> (0, 3) ...以此類推 求初始座標(x1, y1)與目的座標(x2, y2)的距離 INPUT: 第一行輸入一個整數t,代表測資數 接下來有t行,每行有4個整數x1、y1、x2、y2,代表初始座標(x1, y1)與目的座標(x2, y2) OUTPUT: 輸出從初始座標(x1, y1)到目的座標(x2, y2)的距離 #