65 条题解
-
0月下疏影 LV 8 @ 2009-09-10 22:41:03
看了楼下大牛的讲解,很有收获,准备noip2009前复习高精度时练手用……
ps:刚才无事用google翻译了这个网页,笑死了……当编程之余的调剂吧~
-
02009-09-09 13:17:56@
晕,这么水的题少看了一句“分解成若干个互不相同的自然数”
-
02009-09-07 11:48:44@
program p1520;
var a,b:array[1..5000] of longint;
i,j,k,l,m,n,min,sum,len,na:longint;
procedure cheng(x:longint);
var g,t,s:longint;
begin
for g:=1 to len do
b[g]:=b[g]*x;
for g:=1 to len-1 do
begin t:=b[g];b[g]:=t mod 10;
inc(b[g+1],t div 10); end;
while b[len]>10 do begin
t:=b[len];b[len]:=b[len] mod 10;b[len+1]:=t div 10; inc(len);
end;
end;begin
readln(n);
for i:=2 to n do begin
inc(sum,i); a:=i;
if sum>n then break; end;
sum:=sum-i;l:=i-2;
k:=n-sum; na:=l;
while k>0 do begin inc(a[l]);dec(l);dec(k); end;
b[1]:=1;len:=1;
for i:=1 to na do
cheng(a[i]);
for i:=1 to na do
write(a[i],' ');
writeln;
for i:=len downto 1 do
write(b[i]);
end.第一次没写高精。。沙茶了。。
-
02009-08-23 09:40:17@
。。。考的不是题目,是RP~
-
02009-08-21 20:44:03@
互不相同!!!被摆了一道...
-
02009-08-19 23:49:12@
第221个。。。。
狂顶水题。。。。。。 -
02009-08-12 10:35:21@
var i,top,n,atop:longint;
a,ans:array[[blue]1[/blue]..[blue]10000[/blue]] of longint;
procedure cheng(b:longint);
var i,qian:longint;
begin
qian:=[blue]0[/blue];
for i:= [blue]1[/blue] to [blue]1000[/blue] do
begin
ans[i]:=ans[i]*b+qian;
qian:=ans[i] div [blue]10[/blue];
ans[i]:=ans[i] mod [blue]10[/blue];
end;
end;
begin
fillchar(ans,sizeof(ans),[blue]0[/blue]);
readln(n);
i:=[blue]1[/blue]; top:=0;
repeat
inc(i);
inc(top);
a[top]:=i;
n:=n-i;
until n < [blue]0[/blue] ;
n:=n+a[top]; dec(top);
i:=top;
if n > [blue]0[/blue] then
repeat
dec(n);
inc(a[i]);
dec(i);
if i = [blue]0[/blue] then i:=top;
until n = [blue]0[/blue] ;
ans[[blue]1[/blue]]:=1;
for i:= [blue]1[/blue] to top do
begin
write(a[i],[red]' '[/red]);
cheng(a[i]);
end;
writeln;
atop:=[blue]1000[/blue];
while ans[atop] = [blue]0[/blue] do dec(atop);
for i:= atop downto [blue]1[/blue] do write(ans[i]);
writeln;
end. -
02009-08-05 13:13:37@
找规律,然后高精度
-
02009-08-03 17:53:21@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 03:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:99 有效耗时:0ms -
02009-07-28 23:02:34@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
(#‵′)靠,第一次数组开小了WA。。。
这题老师以前讲过,我看到就马上A了 -
02009-07-26 11:05:47@
水题争霸赛擂主……
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-07-22 19:39:37@
超级大水题!
-
02009-07-15 19:40:43@
楼下的楼下,我是火星人.....
---|---|---|---|---|---|---|---|---|---|---|
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0mstype arra=record
data:array[1..1000]of longint;
top:longint;
end;
var n,i,long,j,k:longint;v:array[0..10000]of boolean;
s:string;
all,a:arra;
function gjc(a,b:arra):arra;
var i,j:longint;c:arra;
begin
fillchar(c,sizeof(c),0);
c.top:=a.top+b.top;
for i:=1 to a.top do
for j:=1 to b.top do
begin
c.data:=a.data[i]*b.data[j]+c.data;
if c.data>=10 then
begin
c.data:=(c.data div 10)+c.data;
c.data:=c.data mod 10;
end;
end;
while c.data[c.top]=0 do dec(c.top);exit(c);
end;
procedure find(m:longint);
var l,q,i,r,j,last2,k:longint;
begin
r:=m;
l:=2;
for i:=2 to m do
begin
if (r-i>0) then
begin
v[i]:=true;
r:=r-i;
last2:=i;
end
else
begin
l:=r;
break;
end;
end;
if l>last2 then
begin
v[l]:=true;
last2:=l;
end
else
begin
while l0 do
begin
k:=0;
while (k -
02009-07-13 16:03:59@
如此垃圾的题居然要用高精度... 我一开始只有1分
-
02009-08-09 11:40:48@
沙茶题留名……
不是人的都会做,是人的不一定……
怪盗~基德 你的代码是错的,不信你把“8”输进去!
如对本题有疑问可以参看我的题解:http://xujieqi.blog.hexun.com/35722312_d.html -
02009-06-30 10:30:58@
我不喜欢高精度...
-
02009-06-03 17:27:03@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms超级水题,难度还2,无语了......
program vijos;
var i,j,l,n,m,t:integer;
a,d:array[1..300] of integer;
begin
readln(n);
m:=trunc((sqrt(n*8+9)-3)/2+0.0000001);
t:=n-(3+m)*m div 2;
for i:=1 to m do
d[i]:=i+1;
if t>m then
begin
t:=1;
inc(d[m]);
end;
for i:=m+1-t to m do
inc(d[i]);
a[1]:=1;
l:=1;
for i:=1 to m do
begin
for j:=1 to l do
a[j]:=a[j]*d[i];
for j:=1 to l do
if a[j]>9 then
begin
inc(a[j+1],a[j] div 10);
a[j]:=a[j] mod 10;
end;
while a[l+1]>0 do
begin
inc(l);
a[l+1]:=a[l] div 10;
a[l]:=a[l] mod 10;
end;
end;
for i:=1 to m do
write(d[i],' ');
writeln;
for i:=l downto 1 do
write(a[i]);
end. -
02009-05-11 16:47:06@
成心不让我AC的吧? 为啥它说我第一行没打? 打两遍第一行然后就卡?
├ 测试数据 02:答案错误... ├ 标准行输出 2 3 4...
├ 错误行输出 23721...
疯掉了 -
02009-05-01 21:57:41@
不就是pku1032吗?......
-
02009-04-20 21:17:12@
#include
#include
#include
using namespace std;typedef int abc[100];
int n,m=0;
abc f[1000]={0};
void gc(abc a,abc b,abc c)
{
for (int i=1;i