https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=208
這題別想太複雜把獨到的每列字串轉成字元陣列再一個一個下去找雙引號,記住每行 ` ' 的順序延續上一行,所以我把count放在最外層
範例測資:
Input:
"""
"""
Output:
``''``
''``''
2017年11月28日 星期二
2017年9月28日 星期四
Q299: Train Swapping
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=235
106.09.26 CPE第二題
這題就用你喜歡的排序法實作並用一個count計算交換次數就行囉!
106.09.26 CPE第二題
這題就用你喜歡的排序法實作並用一個count計算交換次數就行囉!
Q11743: Credit Check
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2843
106.09.26 CPE第一題
這題很簡單只是要驗證此信用卡數字串是否合法
他有說到奇數位乘以2再把每位數字加起來,當偶數位時直接該數加起來不做任何加成
最後算出來有個加總值當最後一位為0時就是合法
最後判斷直接用%10看看能否被整除就行拉~
106.09.26 CPE第一題
這題很簡單只是要驗證此信用卡數字串是否合法
他有說到奇數位乘以2再把每位數字加起來,當偶數位時直接該數加起來不做任何加成
最後算出來有個加總值當最後一位為0時就是合法
最後判斷直接用%10看看能否被整除就行拉~
2017年3月28日 星期二
Q496 : Simply Subsets
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=437
這題只是數值比對有四種情況
1.A equals B (兩串列相等)
2.A is a proper subset of B(A是B的子集)
3.B is a proper subset of A(B是A的子集)
4.A and B are disjoint(兩串列完全不同,沒交集)
5.I'm confused!(有相等的數字但不構成子集,如{1,2} {2,3} 或是 {1,2,3} {3,4} )
這題建議不要使用uDebug的測資因為內有例外測資,簡單來說就是沒有重複數字的集合
The judge's input most likely does not contain any negative integers and sets like so
3 3 3 2
3 3 3 3 3 3 2
However, both cases are handled correctly by the code for this problem on uDebug.
這題只是數值比對有四種情況
1.A equals B (兩串列相等)
2.A is a proper subset of B(A是B的子集)
3.B is a proper subset of A(B是A的子集)
4.A and B are disjoint(兩串列完全不同,沒交集)
5.I'm confused!(有相等的數字但不構成子集,如{1,2} {2,3} 或是 {1,2,3} {3,4} )
這題建議不要使用uDebug的測資因為內有例外測資,簡單來說就是沒有重複數字的集合
The judge's input most likely does not contain any negative integers and sets like so
3 3 3 2
3 3 3 3 3 3 2
However, both cases are handled correctly by the code for this problem on uDebug.
Q482: Permutation Arrays
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=423
這題Permutation顧名思義就是要交換排列,第一行n是接下來有幾筆測資,每筆測資第一行有一行空白要讀,輸出最後一個數字記得多加一個換行,但最後依筆測資不換行(這題光排版就被擺了一道,不過題目有說明)
每筆次資中有兩行,其中第一行以例子來說3 1 2是代表第二行測資每個數字的擺放位置,最簡單的實作方法就是再新增一個陣列依序擺放這些交換的數字囉,記得索引值index是從0開始
這題Permutation顧名思義就是要交換排列,第一行n是接下來有幾筆測資,每筆測資第一行有一行空白要讀,輸出最後一個數字記得多加一個換行,但最後依筆測資不換行(這題光排版就被擺了一道,不過題目有說明)
每筆次資中有兩行,其中第一行以例子來說3 1 2是代表第二行測資每個數字的擺放位置,最簡單的實作方法就是再新增一個陣列依序擺放這些交換的數字囉,記得索引值index是從0開始
Q993: Product of digits
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=934
這題其實不難,我當初想太複雜還用質數求公因數,但其實不是這樣的,題目只是要每個位數相乘等於你輸入的數目
舉例:90=>2*5*9 所以輸出259就好啦~很簡單吧
至於我是怎麼實作的,首先建立一個StringBuilder他類似於String型態但她可以呼叫reverse()字串翻轉很方便,那我們就從9開始除囉直到不等於1,若能整除依序append()到字串變數中,最後輸出reverse()就是最小數啦,那還要檢查最後如果每個位數相乘不等於輸入的數就輸出-1囉!
還有還有0跟1要個別判斷哦
這題其實不難,我當初想太複雜還用質數求公因數,但其實不是這樣的,題目只是要每個位數相乘等於你輸入的數目
舉例:90=>2*5*9 所以輸出259就好啦~很簡單吧
至於我是怎麼實作的,首先建立一個StringBuilder他類似於String型態但她可以呼叫reverse()字串翻轉很方便,那我們就從9開始除囉直到不等於1,若能整除依序append()到字串變數中,最後輸出reverse()就是最小數啦,那還要檢查最後如果每個位數相乘不等於輸入的數就輸出-1囉!
還有還有0跟1要個別判斷哦
2017年3月27日 星期一
Q1644: Prime Gap
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4519
這題是2016/12/10CPE第四題,並不難主要是要先建立質數表才不會LTE
至於怎麼快速建表呢?簡單來說質數一定是奇數,不多說下面有質數建表範例
這題主要是找尋該數在質數的Gap當中有幾個非質數數目,若本身為質數就輸出零
這題是2016/12/10CPE第四題,並不難主要是要先建立質數表才不會LTE
至於怎麼快速建表呢?簡單來說質數一定是奇數,不多說下面有質數建表範例
這題主要是找尋該數在質數的Gap當中有幾個非質數數目,若本身為質數就輸出零
2016年10月11日 星期二
Q12694: Meeting Room Arrangement
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4432
2016 10/05 CPE第五題 這題的方法是先以結束時間為基準做排序(氣泡排序),再來進入迴圈一個一個去比開始時間有沒有比t大,若有t改成結束時間count++
第一個打法式二維陣列,第二種是結構化打法
2016 10/05 CPE第五題 這題的方法是先以結束時間為基準做排序(氣泡排序),再來進入迴圈一個一個去比開始時間有沒有比t大,若有t改成結束時間count++
第一個打法式二維陣列,第二種是結構化打法
2016年10月10日 星期一
Q:10415 - Eb Alto Saxophone Player
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1356
這題是2016 10/06 CPE題目 我的解法是先把14個按鍵方法先存入陣列中(arr)再建立一個整數陣列把按鈕轉換成配對arr的索引值 例如hash['c']=0(c紐就配對arr[0])
最後就是一個字一個字讀取並且依序檢查是否有按過 案過之後state[]=1反之
if (ary[j] == '1' && state[j] == 0) {
ans[j]++;
state[j] = 1;
}
if (ary[j] == '0')
state[j] = 0;
這題是2016 10/06 CPE題目 我的解法是先把14個按鍵方法先存入陣列中(arr)再建立一個整數陣列把按鈕轉換成配對arr的索引值 例如hash['c']=0(c紐就配對arr[0])
最後就是一個字一個字讀取並且依序檢查是否有按過 案過之後state[]=1反之
if (ary[j] == '1' && state[j] == 0) {
ans[j]++;
state[j] = 1;
}
if (ary[j] == '0')
state[j] = 0;
2016年10月9日 星期日
Q:11192 - Group Reverse
https://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=2133
這題是2016 10/04 CPE第一題,第一個數字是要把字串切割成幾等分,內迴圈從後面讀取印出來
這題是2016 10/04 CPE第一題,第一個數字是要把字串切割成幾等分,內迴圈從後面讀取印出來
Q:11344 - The Huge One
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2319
這題是2016 10/04 CPE第四題 利用大數去判斷是有整除就好了
另外除數是0時直接跳出迴圈Wonderful num.equals(new BigInteger("0")) 這裡也可以用compareTo去比對
還有每組資料第二行的第一個數字是接下來有多少個數字並不是被除數
這題是2016 10/04 CPE第四題 利用大數去判斷是有整除就好了
另外除數是0時直接跳出迴圈Wonderful num.equals(new BigInteger("0")) 這裡也可以用compareTo去比對
還有每組資料第二行的第一個數字是接下來有多少個數字並不是被除數
訂閱:
文章 (Atom)
