UVa - 10783 解題紀錄
題目: UVa - 10783 - Odd Sum
題目說明第一個數字代表有幾筆測資,每筆測資有兩個數字,題目要求算出兩數字間的奇數和 ( 包含兩數字 )。
解題思路使用 for 迴圈直接做即可。
參考解法123456789101112131415161718192021222324#include <iostream>using namespace std;int main(){ int a, b, T, casenum = 1; cin >> T; while (T--) { int ans = 0; cin >> a >> b; for (int i = a; i <= b; ++i) if (i % 2 == 1) ans += i; cout << "Case " << casenum << ": &qu ...
UVa - 10189 解題紀錄
題目: UVa - 10189 - Minesweeper
題目說明每筆測資開始於兩個數字,表示地雷的地圖大小,隨後是地圖的資訊,算出地圖上的每個點的九宮格內共有幾顆地雷,若該點為地雷則輸出 *,否則輸出該數。
解題思路定義一個大小為 102 * 102 的陣列 ( 上下左右各預留一行可以省去一些判斷 ),在每筆測資運算開始前,先將陣列清空。讀取測資時,使用 String 一行一行讀取,再使用 find() 找到 * 的位置,並將陣列內對應該點位置的九宮格的數字都 + 1 ,最後再將這個位置設為其他字元 ( 我是設為 . ),避免重複運算。
參考解法123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172#include <iostream>#include <vector>using namespace std;int result[102][1 ...
UVa - 11417 解題紀錄
題目: UVa - 11417 - GCD
題目說明每筆測資會有一個大於 1 且小於 500 的數字,並按照題目的要求算出對應的數字。
解題思路按照題目給的兩個 for 迴圈來做,GCD 透過輾轉相除法的概念來做即可。
參考解法123456789101112131415161718192021222324252627#include <iostream>using namespace std;int GCD(int i, int j){ if (j % i == 0) return i; else GCD(j % i, i);}int main(){ int n, G; while ((cin >> n) && (n != 0)) { G = 0; for (int i = 1; i < n; i++) for (int j = i + 1; j <= n; j++) ...
UVa - 12195 解題紀錄
題目: UVa - 12195 - Jingle Composing
題目說明每筆測資會有代表音符的字母及 / ,每個音符分別代表不同的持續時間,兩個 / 包起來的字母代表一次的測資。題目要求輸出持續時間為 1 的測資數量。
解題思路使用 String 讀取測資,從 Size = 1 時開始,利用 Switch 判斷字符並加入與其相對應的時間。當 Switch 執行到 Default 時代表目前字符為 / ( 每一行資料只有代表音符的字母及 / ),此時若時間為 64 ( 將每個音符持續時間都乘以 64,方便運算 ) 則將 ans + 1。
參考解法123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include <iostream>#include <string>using namespace std;int main(){ string input; while ((cin >> input) ...
C++ Vector 介紹
簡介Vector 是 STL 內含的一個容器,空間不夠時會自動擴大空間,可以想像成是一個提供許多功能的陣列,它的內部結構其實就是一個動態陣列及其他一些 Data Members 形成的,有許多 Functions 可以使用,非常方便。
使用方式include使用前需要先 #include <vector>
變數宣告
Vector <Variable type> name Variable type:變數型態,如 int, unsigned int, short, char …等等,也可以是自己定義的 Struct 或 Class。
Vector <Variable type> name(i) 建構內含 i 個初始值元素的 Vector。
成員函式
新增與刪除元素
push_back(value):新增一個值為 value 的元素到 Vector 的尾端。 當空間不夠時會自己擴大空間。
insert(pos, value):新增一個值為 value 的元素到 pos 的前方。
insert(pos, num, value):新增 num ...