目前分類:ACM-UVA-難度2 (5)

瀏覽方式: 標題列表 簡短摘要

許多機器人在平面上行走,判斷會不會掉下去平面,還有印出最後的座標及方向

[心得]

1.參考板上,可以用 x+=dx[dir] 表示行走的方向 (ESWN:dir=0~3)

2.如果機器人掉下去,之後的步驟都不用再做,所以要找對位置 break

3.一開始看錯題目,讀步驟並不是讀到EOF停,要用長度來控制

4.用 gets() 讀整句時,如果上面使用的是 scanf(),要記得在裡面加 "\n" 讀到底

5.忘了基本的 switch,如果 case 是 int,直接 case 數字: 就好不用加""

RingsACM 發表在 痞客邦 留言(0) 人氣()

給定 n 和 p,求 k^n=p 中的k

[心得]

1.使用double,所以印出來的時候要用%.0lf

RingsACM 發表在 痞客邦 留言(0) 人氣()

貓咪召喚分身打掃,給定開始的身高和最後打掃的貓咪數,計算沒工作的貓和身高總和

[心得]

1.使用 log 的誤差很難控制...改成使用"pow(n,k)==最後打掃的貓咪數"來找 n 和 k

2.pow() 的形態是 float,要改成 int 或使用 abs(pow(n,k)-end)<=0 來判斷條件是否成立

3.pow(x,y) 等於 exp(y*ln(x)),所以會有誤差要小心使用

4.執行時間最快只能到1.636秒,降不下去 ~"~

RingsACM 發表在 痞客邦 留言(0) 人氣()

求三個回收桶回收三種顏色的瓶子,該如何分配顏色所需的瓶子移動總數最少

[心得]

1.只需考慮六種情況,依題目要求由字典順序去令排列的情況,暴力法解題

RingsACM 發表在 痞客邦 留言(0) 人氣()

求一堆積木依照指令堆疊之後,最後的排列情形

[心得]

1. map[][] 儲存各個位置的積木編號,沒有積木的位置用-1表示

2. loc[] 儲存該編號的積木所在之行、end[] 表示該行最後一個積木的高度 (沒有為-1)

3.放回寫成函式back(),需要再呼叫即可,全域變數記得擺在最前面

4.每個動作都要考慮到 map、loc、end,改變的次序很重要,以及先用其他變數記錄

5. continue 的作用是回到迴圈起始點重新開始,可以用在不做任何改變的情況

RingsACM 發表在 痞客邦 留言(0) 人氣()