精華區beta Marginalman 關於我們 聯絡資訊
我終於搞完這題了 這應該是我第一個完成的normoal 原本想自己先試試看 直接暴力拆開來解 結果runtime error 我吐了 然後我聽我同學跟看動物園的那個 才改成這樣 哀 我流淚了 int eliminateMaximum(int* dist, int distSize, int* speed, int speedSize) { int day =0; int mon = 0; int kill=0; int daymap[100000] = {}; //天數的怪物 for(int o = 0 ; o < distSize ; o++) { daymap[(dist[o]-1) / speed[o]] ++; } while(kill != distSize) { kill ++; mon = mon + daymap[day]; if(kill < mon ) { return kill; } day++; } return kill; } 這是原本的寫法 int eliminateMaximum(int* dist, int distSize, int* speed, int speedSize) { int i =0; int kill=0; int distnext[distSize] ; //天數 for(int o = 0 ; o < distSize ; o++) { distnext[o] = (dist[o]-1) / speed[o]; } while(1) { //殺光光就回傳 if(kill == distSize) { return kill; } i = 0; //指定下一輪最靠近的 for(int t = 0 ; t < distSize ; t++) { if(distnext[t] < distnext[i]) { i = t; } } //沙怪物 dist[i] = -999999; distnext[i] = 9999999; kill++; //怪物走路 for(int k = 0 ; k < distSize ; k++) { if(dist[k] != -999999) { dist[k] = dist[k] - speed[k]; } } //走道主堡了沒 for(int gg = 0 ; gg < distSize ; gg++) { if(dist[gg] != -999999 && dist[gg] <= 0) { return kill; } } } return kill; } 我吐了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 134.208.57.64 (不明) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1699355779.A.3D9.html
JIWP: 大師 給我錢 11/07 19:17
ZooseWu: 加油 11/07 19:17
AquaCute: 恭喜 11/07 19:18
SecondRun: 你很棒 11/07 19:20
oin1104: 好爽喔 11/07 19:20
DDFox: 你很棒 11/07 19:22