NPSC補完計劃

登入註冊帳號.

請輸入帳號, 密碼以及預計登入時間
進階搜尋  

最新消息:

歡迎光臨NPSC補完計劃

+ NPSC補完計劃 » NPSC國中組 » NPSC2008國中組初賽
 [PASCAL]D. 沙之国

作者 主題: [PASCAL]D. 沙之国  (閱讀 1361 次)

liouzhou_101

  • 初級會員
  • **
  • 文章數: 44
    • 檢視個人資料
[PASCAL]D. 沙之国
« 於: 七月 12, 2010, 12:24:48 pm »

这题其实就是解方程
x1*1+x2*3+x3*9+x4*27=P
使得x1+x2+x3+x4的值最小。

用贪心(greedy)的算法,让x4尽量大,然后让x3尽量大.....一直到让x1尽量大。
这样得到的解可以保证x1+x2+x3+x4的值最小。

代碼: [選擇]
var p,i,t,n : longint;
begin
  readln(p);
  for i:=1 to p do begin
    readln(n);
    t:=n div 27;
    n:=n mod 27;
    t:=t+n div 9;
    n:=n mod 9;
    t:=t+n div 3;
    n:=n mod 3;
    t:=t+n;
    writeln(t);
  end;
end.
記錄
+ NPSC補完計劃 » NPSC國中組 » NPSC2008國中組初賽
 [PASCAL]D. 沙之国