Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
找规律+预处理缩小范围+递推。写着想着都简单。In Reply To:是一个配方题 Posted by:custqi at 2011-02-26 08:31:37 var f:array[0..99999]of int64; t,n,i,j,k:longint; m:int64; s:ansistring; begin for i:=1 to 9 do f[i]:=f[i-1]+1; for i:=10 to 99 do f[i]:=f[i-1]+2; for i:=100 to 999 do f[i]:=f[i-1]+3; for i:=1000 to 9999 do f[i]:=f[i-1]+4; for i:=10000 to 99999 do f[i]:=f[i-1]+5; readln(t); for i:=1 to t do begin readln(n); m:=0; j:=0; while m<n do begin inc(j); inc(m,f[j]); end; dec(m,f[j]); for k:=1 to j do begin str(k,s); inc(m,length(s)); if m>=n then break; end; dec(m,length(s)); writeln(s[n-m]); end; end. Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator