9501 分鐘

# 題目: UVa 10226 - Hardwood Species # 題目說明 計算每種樹的出現比例 INPUT: 第一行有一個整數n,代表共有幾個cases 接著空一行,之後重複讀取字串name,代表樹的名稱,直到空行 OUTPUT: 輸出樹的名稱及出現比例,順序為英文字母升冪,位數到小數點後四位 每筆資料以空行隔開 # 解題方法 由於用到cin又用到getline,所以需要先呼叫cin.ignore()清空緩衝區 用map去累積每種樹出現的數量 # 參考程式碼 #include <iostream> #include <map> #include &
1.4k1 分鐘

# 題目: UVa 11838 - Come and Go # 題目說明 一座城市以單向道及雙向道連接各處 你需要寫一個程式來判斷任意地點是否都能通往任意地點 INPUT: 每筆測資的第一行有兩個整數N及M,N代表交叉路口(點)的數量,M代表街道(邊)的數量 接下來會有M行,每行有三個整數V、W和P,代表V及W間有一條道路相連,P代表單向道或雙向道 當N及M皆為零時結束程式 OUTPUT: 輸出這個城市是否符合SCC,true則1,false則0 # 解題方法 基本上跟前幾題一樣,也是SCC模板題 只要找出每個城市是否有多於一個SCC即可 # 參考程式碼 #include <io
3.1k3 分鐘

# 題目:UVa 11504 - Dominos # 題目說明 你的目標是找出一個骨牌需要推多少次才會全倒 INPUT: 第一行輸入一個整數t,代表有t筆測資 每筆測資的第一行有兩個整數n及m,n代表骨牌數,m代表骨牌的連動 接下來會有m行,每行有兩個整數x和y,代表骨牌x的倒下會影響骨牌y OUTPUT: 輸出要使所有骨牌倒下,需要推動幾個骨牌 # 解題方法 點 這裡 有關Tarjan's Algorithm與Kosaraju's Algorithm的詳細說明 解法一使用Tarjan's Algorithm找SCC(Strongly Connected C
2.1k2 分鐘

# 題目:UVa 247 - Calling Circles # 題目說明 電信公司有一種名為朋友圈的服務,由你提供一組名單,當你打電話給名單上的朋友時,你會獲得折扣 LibertyBell Phone Co是一間新的電信公司,它們認為它們可以讓其他公司倒閉 LibertyBell Phone Co也有朋友圈的服務,相較其他電信公司,它們會根據你打給誰和誰打給你判斷出你的朋友圈 例如: A 打給 B、B 打給 C、C 打給 A,那ABC是一組朋友圈 INPUT: 每筆測資的第一行有兩個整數n及m,n代表人數,m代表通話 接下來會有m行,每行有兩個字串,代表前者打電話給後者 當n與m皆為0時結
2.6k2 分鐘

# 題目: UVa 10972 - RevolC FaeLoN # 題目說明 Koorosh現在是一名高級顧問,他在沒有你的幫助下解決了Basm的問題 跟往常一樣,Basm征服了一個新地區,叫做RevolC FaeLoN 為了讓RevolC FaeLoN的人民滿意,他想要使該國的道路變成單向來降低事故發生率 他希望每個城市都有一條路能到其他城市,所以他要求Koorosh找到需要建造的最少道路數 INPUT: 每筆測資的第一行有兩個整數n及m,n代表城市的數量,m代表道路的數量 接下來會有m行,每行有兩個整數u及v,代表u、v城市間有一條道路連接 OUTPUT: 輸出需要建造道路的最小數量
3k3 分鐘

# 題目: UVA 1108 - Mining Your Own Business # 題目說明 John Digger是一座礦坑的擁有者,礦坑是由大量的地道及連接點組成 不像某些人,Digger關心礦工的安全,他擔心礦坑會崩塌,於是他打算設置安全通道 但是他又不想在每個連接點都設置安全通道,他希望能設置最低數量的安全通道,當礦坑崩塌時,所有礦工都能藉由地道到安全通道 INPUT: 每筆測資的第一行為一個整數N,代表地道的數量 接下來會有N行,每行有兩個整數s與t,代表這兩個連接點透過地道相連 當N為0時結束 OUTPUT: 先輸出第幾個case,接著輸出最少的安全通道數量及此數量的情況數
2.1k2 分鐘

# 邏輯運算子 邏輯上共有3種運算子,AND OR NOT 符號 解釋 && AND 且 || OR 或 ! NOT 反轉 這3種運算子回傳的結果是bool型態,也就是true或false,cout出來則是1與0 cout << 1 && 1; cout << 1 && 0; cout << 0 && 1; cout << 0 && 0; // 印出 1 0 0 0
2.5k2 分鐘

# 資料型態與宣告 當我們要使用一個變數的時候,需要先對它進行宣告 例如: int a; 意思是我們宣告一個資料型態為int(整數)的變數a,a裡面可以存固定範圍內的任何整數 以下是一些基本的資料型態: 資料型態 解釋 儲存內容&範圍 補充 bool 布林變數 true 和 false true=1 false=0 int 整數 2^-31 ~ 2^31-1 unsigned int 正整數 0 ~ 2^32-1 long long 特大的整數 2^-63 ~ 2^63-1 float 浮點數(小數) 有效位數7位 doub
2.3k2 分鐘

# Hello world! #include <iostream> using namespace std; int main() { cout << "Hello world!" << endl; return 0; } 大家一定都看過以上程式,通常這也是編譯器(compiler)預設的程式 接下來,就要看看它是怎麼運作的 # cin 與 cout 首先,我們需要include標頭檔iostream #include <iostream> 原因是cin及cout並