http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=975
這題二進為字串轉時進位數字直接利用Integer.parseInt( " 二進為字串 " , 2 );
2016年10月15日 星期六
2016年10月13日 星期四
[C_AR190-易] 矩陣元素共同交集
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=29925
這題就依序去尋找看看有沒交集的數,並丟入ArrayList中(因為最後要排序且不知容器有多大)
排序的語法是Collections.sort( )
注意在ITSA中ArrayList並不能簡略打法要遵循
ArrayList<Integer> list = new ArrayList<Integer> =>不能<>
這題就依序去尋找看看有沒交集的數,並丟入ArrayList中(因為最後要排序且不知容器有多大)
排序的語法是Collections.sort( )
注意在ITSA中ArrayList並不能簡略打法要遵循
ArrayList<Integer> list = new ArrayList<Integer> =>不能<>
2016年10月12日 星期三
[C_SO07-] 找出不合群的人
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=2277
這題就按照題意找出outlier,注意題目範例輸出第二個有誤事排序後去比較另外每個資料只空一行而已
Input:
7.0 4.0 5.0 4.0 100.0 2.0 8.0 9.0 -100.0
Output:
The outlier is -100.0
The outlier is 100.0
這題就按照題意找出outlier,注意題目範例輸出第二個有誤事排序後去比較另外每個資料只空一行而已
Q1的位置= n × 0.25
Q2的位置= n × 0.5
Q3的位置= n × 0.75
Input:
7.0 4.0 5.0 4.0 100.0 2.0 8.0 9.0 -100.0
Output:
The outlier is -100.0
The outlier is 100.0
[C_AR80-中] 聖經密碼
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=7051
這題就把二維陣列轉乘一維方式讀取,作法是先把所有字串放入字元陣列中,再來用字串切割把讀進來的數字字串split(" , "),最後迴圈兩兩一組 i*10+(i+1) 就可以調出一開始創的陣列字元了
A[i,j] = (i × n )+ j
這題就把二維陣列轉乘一維方式讀取,作法是先把所有字串放入字元陣列中,再來用字串切割把讀進來的數字字串split(" , "),最後迴圈兩兩一組 i*10+(i+1) 就可以調出一開始創的陣列字元了
A[i,j] = (i × n )+ j
[C_AR83-中] 字元出現次數
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=7898
這題我是用快速寫法缺點是造成稀疏矩陣浪費記憶體,簡單來說就是利用ASCii來當每個字母索引值(大小寫分開)
題目給的測資有空白行別管他
這題我是用快速寫法缺點是造成稀疏矩陣浪費記憶體,簡單來說就是利用ASCii來當每個字母索引值(大小寫分開)
題目給的測資有空白行別管他
2016年10月11日 星期二
[C_ST62-易] 縮寫很方便
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=6419
這題很簡單直接字串分割最後再依序判斷第一個字母是否為ASCii小於於97=>a,若是的話印出
這題很簡單直接字串分割最後再依序判斷第一個字母是否為ASCii小於於97=>a,若是的話印出
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第一題,第一個數字是要把字串切割成幾等分,內迴圈從後面讀取印出來
[C_CH13-中] 坑洞路面
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=2078
這題先依序找出最大值放入陣列arr_large,另外再從尾找出最大值 和arr_large比看誰最小減去目前的坑洞高
若結果小於0就不做相加到ans反之
這題先依序找出最大值放入陣列arr_large,另外再從尾找出最大值 和arr_large比看誰最小減去目前的坑洞高
若結果小於0就不做相加到ans反之
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去比對
還有每組資料第二行的第一個數字是接下來有多少個數字並不是被除數
2016年10月8日 星期六
[C_AR143-易] 轉換英文字母到數字
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=24061
這題非常簡單把字串拆開成字元陣列再把每個字元-'a'就是答案要的數字了
這題非常簡單把字串拆開成字元陣列再把每個字元-'a'就是答案要的數字了
[C_AR142-易] 陣列存多少?
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=24058
為了避免超時利用動態規劃先把1~100次方建立起來之後再去判斷相加
為了避免超時利用動態規劃先把1~100次方建立起來之後再去判斷相加
ITSA 第46次月賽 Problem 4 貧富不均
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=29454
這題用由大至小排序後做比較好做,無條件進位要用ceil方法不過要強制轉型成(int)內部數字要浮點數
這題用由大至小排序後做比較好做,無條件進位要用ceil方法不過要強制轉型成(int)內部數字要浮點數
ITSA 第48次月賽 [Problem 4] 字串轉換成浮點數
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=31398
這題可能有空白所以要先把所有空白去掉,最後放入BigDecimal再toPlainString把科學記號的完整數字印出來
這題可能有空白所以要先把所有空白去掉,最後放入BigDecimal再toPlainString把科學記號的完整數字印出來
2016年10月7日 星期五
ITSA 第49次月賽 Problem2. 時間表示轉換
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=17017
這題很簡單一天有86400秒一小時3600秒一分鐘60秒下去除
最後印出%02d 就能顯示數位數字了
這題很簡單一天有86400秒一小時3600秒一分鐘60秒下去除
最後印出%02d 就能顯示數位數字了
ITSA 第49次月賽 Problem4. 跳舞的小人
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=32660
這題我的作法是從尾巴讀取是否有遇到數字若有把數字存起來反之加上位移數(ps.數字也可能2位數)
這題還要考慮字母溢位 所以必須
if(tot > 'Z'){
tot=tot % 'Z' + 'A' -1 ;
}
因為是從最後開始讀取所以先append進字串,最後再reverse出來
範例測資
input
1
A B C 13 D E 2 X Y Z 20
output
NOPFGRST
這題我的作法是從尾巴讀取是否有遇到數字若有把數字存起來反之加上位移數(ps.數字也可能2位數)
這題還要考慮字母溢位 所以必須
if(tot > 'Z'){
tot=tot % 'Z' + 'A' -1 ;
}
因為是從最後開始讀取所以先append進字串,最後再reverse出來
範例測資
input
1
A B C 13 D E 2 X Y Z 20
output
NOPFGRST
[C_MM148-易] 三位數字摸彩
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=7022
這題先讀入字串再利用split做字串切割數字,最後再放入int型態的陣列做sort排序
最後利用迴圈印出後3個最大數(3個迴圈)
這題先讀入字串再利用split做字串切割數字,最後再放入int型態的陣列做sort排序
最後利用迴圈印出後3個最大數(3個迴圈)
[C_MM106-易] 求質數問題
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=1292
檢查質數最簡單的方法就是從2~n-1一個一個去判斷是否整除,題目是求範圍內最大的質數那我們就依序遞減判斷
檢查質數最簡單的方法就是從2~n-1一個一個去判斷是否整除,題目是求範圍內最大的質數那我們就依序遞減判斷
2016年10月6日 星期四
Q11689: Soda Surpler
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2736
這題就是簡單的利用/和%來計算換取的飲料,當不能再換時num<c就跳出迴圈
這題就是簡單的利用/和%來計算換取的飲料,當不能再換時num<c就跳出迴圈
2016年10月5日 星期三
Q10302: Summation of Polynomials
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1243
這題其實用long就可以了這題有兩種解法
第一種是動態規劃先把5000內所有立方算出後來再相加
第二種解法是利用公式解 (x*x*(x+1)*(x+1))/4
這題其實用long就可以了這題有兩種解法
第一種是動態規劃先把5000內所有立方算出後來再相加
第二種解法是利用公式解 (x*x*(x+1)*(x+1))/4
Q10365: Blocks
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1306
這題就是把體積拆成長*寬*高(i*j*k)
體積計算面積的公式(i*j+j*k+k*i)*2
這題就是把體積拆成長*寬*高(i*j*k)
體積計算面積的公式(i*j+j*k+k*i)*2
2016年10月4日 星期二
ITSA 第49次月賽 Problem5.Finding a Maximum Profit Interval for a Long Term Investment
http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=32661
這題就是貪婪法則取最大值每次相加做比對,當tot遇到負數時直接tot=num重新開始連加
這題就是貪婪法則取最大值每次相加做比對,當tot遇到負數時直接tot=num重新開始連加
2016年10月3日 星期一
Q490: Rotating Sentences
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=431
這題純粹是字串翻轉不過需要一些小技巧才會AC,簡單來說就是把每個字串讀入二維陣列,每次存入之前檢查字數是否為該行最大值,最後翻轉印出來,這裡要確認當該列數小於最大值時要印出空白不然會拋出例外
這題純粹是字串翻轉不過需要一些小技巧才會AC,簡單來說就是把每個字串讀入二維陣列,每次存入之前檢查字數是否為該行最大值,最後翻轉印出來,這裡要確認當該列數小於最大值時要印出空白不然會拋出例外
2016年10月1日 星期六
訂閱:
文章 (Atom)