19 条题解
-
0Type59D LV 10 @ 2019-05-01 21:04:16
好大的坑
状态 耗时 内存占用
#1 Accepted 0ms 128.0 KiB
#2 Accepted 0ms 128.0 KiB
#3 Accepted 0ms 128.0 KiB
#4 Accepted 0ms 128.0 KiB
#5 Accepted 0ms 128.0 KiB
#6 Accepted 0ms 128.0 KiB
#7 Accepted 0ms 128.0 KiB
#8 Accepted 0ms 128.0 KiB
#9 Accepted 0ms 128.0 KiB
#10 Accepted 0ms 128.0 KiB -
02016-05-22 09:29:35@
type tt=array [0..105] of longint;
var
a,b,c,d,e,f,g:tt;
l1,l2,l3,l4,l5,l6,n,m:longint;
procedure cch(a,b:tt; var c:tt; l1,l2:longint; var l3:longint);
var i,j,x:longint;
begin
fillchar(c,sizeof(c),0);
for i:=1 to l1 do
begin
x:=0;
for j:=1 to l2 do
begin
x:=x+a[i]*b[j]+c[i+j-1];
c[i+j-1]:=x mod 10;
x:=x div 10;
end;
c[i+l2]:=x;
end;
if (c[l1+l2]<>0) then l3:=l1+l2 else l3:=l1+l2-1;
end;
procedure xx(a,b:tt; var c:tt; l1,l2:longint; var l3:longint);
var i:longint;
begin
fillchar(c,sizeof(c),0);
for i:=1 to l1 do c[i]:=a[i]-b[i];
for i:=1 to l1-1 do
if (c[i]<0) then begin dec(c[i+1]); inc(c[i],10); end;
l3:=l1;
while (c[l3]=0) and (l3>1) do dec(l3);
end;
procedure jy(a:tt; var b:tt; l1:longint; var l2:longint; t:longint);
var i,x:longint;
begin
fillchar(b,sizeof(b),0);
x:=0;
for i:=l1 downto 1 do
begin
x:=x*10+a[i];
b[i]:=x div t;
x:=x mod t;
end;
l2:=l1;
while (b[l2]=0) and (l2>1) do dec(l2);
end;
procedure fj(var a:tt; var l:longint; x:longint);
var i:longint;
begin
fillchar(a,sizeof(a),0);
i:=0;
while (x<>0) do
begin inc(i); a[i]:=x mod 10; x:=x div 10; end;
l:=i;
end;
procedure jzq(a:tt; l:longint);
var i:longint;
begin
for i:=l downto 1 do write(a[i]);
writeln;
end;
begin
read(n,m); g[1]:=6;
if (m>n-2) or (m<=0) then writeln('NO!')
else begin
fj(a,l1,n-m);
cch(a,a,b,l1,l1,l2); cch(a,b,c,l1,l2,l3);
xx(c,a,d,l3,l1,l4); jy(d,e,l4,l5,6); jzq(e,l5);
end;
l1:=0; l2:=0; l3:=0; l4:=0; l5:=0;
fillchar(a,sizeof(a),0);
fillchar(b,sizeof(b),0);
fillchar(c,sizeof(c),0);
fillchar(d,sizeof(d),0);
fillchar(e,sizeof(e),0);
fj(a,l1,n); fj(b,l2,n-1);
cch(a,a,c,l1,l1,l3); cch(b,b,d,l2,l2,l4);
cch(c,d,e,l3,l4,l5); cch(a,b,f,l1,l2,l6);
jy(e,a,l5,l1,4); jy(f,b,l6,l2,2);
xx(a,b,c,l1,l2,l3); xx(c,g,d,l3,1,l4);
jy(d,a,l4,l1,6); jzq(a,l1);
end. -
02009-10-19 12:33:15@
说m合法和打no好像矛盾啊
晕
练练高精
公式:
一问:(n*n*n-n)/6
二问:(n*n*(n+1)*(n+1)-n*(n+1)/2)-6)/6
很简单,自己推下吧 -
02009-10-18 20:20:22@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms果然有陷阱 嘿嘿
-
02009-04-11 23:12:44@
高精度算数
-
02009-04-08 16:53:50@
Accepted 有效得分:100 有效耗时:0ms
太猥琐了!
一定要用int64!! -
02009-04-08 17:01:18@
强烈同意楼下,被这个陷阱害惨了!!!!!!
-
02008-10-09 15:18:03@
1、感谢sayatoo学长的式子2、千万别忘输出NO!
-
02006-11-08 20:54:31@
原来c(n+1,4)还可以再化简单的,只要一个算式就出来了,我还用组合公式算了一下午,郁闷啊~~~~~~~~~~
-
02006-11-02 16:06:40@
请主办者给我正确答案
-
02006-11-02 10:06:45@
我的输出是这样,不知道对不对
10
34166167000
41583291749NO!
41583291749166666166667000000
41666583333291666749999NO!
4166583332916674999121500405000300000
41666583333291666749999166666616666670000000
416666583333329166667499999166666641666667899999980
4166666583333332916666674999999166666665666666668499999999
416666665833333332916666667499999994
4166666583333332916666674999999 -
02006-11-01 21:45:18@
不是说保证m合法的么。。。
还要判NO!。。。。 -
02006-11-01 18:17:26@
1^3+2^3+3^3+......+n^3=(n(n+1)/2)^2
这个公式也许会有用 -
02006-11-01 12:55:04@
怎么会这样,辛辛苦苦写高精,却用不着,还是错的
原来只用extended求近似就行了
哎~~~~~~~~~~~~~~~~~~~~~~~~ -
02006-11-03 12:17:59@
......都快成数学题了= =|||
---|---|---|-
晕啊``原来是用extended..偶也写高精= =
呃..太BT了,居然还有精度问题,我倒= =||
n=10^9,最后减1和不减1一样的
坑人啊-___|-||
==========♂11.3
现在好了~不过又懒得写高精了...反正已AC~
组合数的性质公式~同样感谢sayatoo牛的式子...
陷阱估计是都没过100位吧.. -
02006-11-02 13:37:28@
陷阱肯定是不容易看出来的三,看出来了,你一定想打我地,因为,这个陷阱很BT!!
备注:现在,extended过不到了!! -
02006-11-01 08:38:29@
最大的陷阱...
不会是样例和注释的差别吧...
MS不大一样-_- -
02006-11-01 08:37:24@
第一行:c(n-m+1,3)
第二行:c(3,2)+c(4,2)+c(5,2)+....+c(n-1,2)+c(3,3)+c(4,3)+c(5,3)+..+c(n-1,3)=c(n,3)+c(n,4)-1=c(n+1,4)-1;
但是不知道输出标准输出为什么不是这样算得?郁闷ing -
02006-11-01 16:29:52@
作者的意思大概是说
方案个数若超过100位则只需输出最后的100位的数值即可。
以上这句话是陷阱...
另外庆祝200AC..
- 1