Tyvj 1316 小Q玩遊戲 開採金幣

2021-05-27 10:48:49 字數 1920 閱讀 8175

題目

小q玩遊戲——開採金幣

**tyvj 1316

題目大意

s次操作,可以建礦或者採金,採金就是獲得礦數的數值,建礦就是增加礦數,初始礦為0

資料範圍

s <= 10^100樣例1

0

做題思路

資料好朦朧啊,來個更朦朧的解法哈(就是證明不解釋),ans=(s/2)^2

知識點萬進製的高精度加法、高精度乘法、高精度除法,貪心

var

a1,a2,a:array[0..70]of longint;

s,s1:string;

l:longint;

procedure init;

var i,j:longint;

begin

readln(s);

l:=length(s);

j:=ldiv 4;

ifj*40 then s1:=copy(s,l-i*4+1,4)

else s1:=copy(s,1,l-(i-1)*4);

val(s1,a1[i]);

end;

a1[0]:=j;

while (a1[0]>0)and(a1[a1[0]]=0) dodec(a1[0]);

end;

procedure print;

var i:longint;

begin

while (a[a[0]]=0)and(a[0]>0) do dec(a[0]);

ifa[0]=0 then writeln('0')

else

begin

write(a[a[0]]);

for i:=a[0]-1 downto 1 do

case a[i] of

0..9:write('000',a[i]);

10..99:write('00',a[i]);

100..999:write('0',a[i]);

else write(a[i]);

end;

writeln;

end;

fillchar(a,sizeof(a),0);

end;

procedure minu;

var i,k:longint;

begin

k:=0;

fori:=a[0] downto 1 do

begin

a[i]:=a[i]+k*10000;

k:=a[i]mod 4;

a[i]:=a[i] div 4;

end;

while a[a[0]]=0 do dec(a[0]);

end;

procedure mult;

var i,j:longint;

begin

fillchar(a,sizeof(a),0);

fori:=1 to a1[0] do

forj:=1 to a2[0] do

begin

a[i+j-1]:=a1[i]*a2[j]+a[i+j-1];

a[i+j]:=a[i+j]+a[i+j-1] div 10000;

a[i+j-1]:=a[i+j-1] mod 10000;

end;

a[0]:=a1[0]+a2[0];

ifa[a[0]+1]>0 then inc(a[0]);

end;

begin

init;

if(a1[0]=1)and(a1[a1[0]]=1)then

begin

writeln('0');

halt;

end;

a2:=a1;

mult;

minu;

print;

end.

Tyvj 1316 小Q玩遊戲 開採金幣

題目 小q玩遊戲 開採金幣 tyvj 1316 題目大意 s次操作,可以建礦塔,可以採礦,採礦每次採已有礦塔數的礦,初始為0礦塔,求 最大採礦數。資料範圍 s 10 100 樣例 1 0 做題思路 看題意很清晰,但我不是大牛,不知道這和高精度有什麼直接關係?難道只是用高精 度來處理數?額。原來是有個...

Tyvj 1315 小Q玩遊戲 經營餐廳

題目 小q玩遊戲 經營餐廳 tyvj 1315 題目大意 n個物品,買m件,每個物品有個初始加個,每買一次加個上公升一定數值,求最小花 費 資料範圍 1 n,m 1000。1 cost i up i 500 樣例 2 3 100 100 190 5 485 做題思路 物品,果斷揹包嗎?額 錯了,貪心...

小 X 玩遊戲 game

題目 時間限制 1 sec 記憶體限制 64 mb 提交 241 解決 81 聽完了故事,小 x 又想去玩一會兒遊戲了。這是乙個很奇特的單機遊戲,遊戲規則如下 遊戲中一共有 4 n 張牌,每張牌上有乙個數字,這些數字恰好是 1 4 n。一開始電腦會把這 4 n張牌隨機打亂,然後會發 2 n 張牌給小...