- 全排列
- 2009-09-08 10:34:18 @
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:运行超时...
├ 测试数据 06:运行超时...
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:运行超时...
var n,s,k:longint;
m:int64;
a,b:array [1..100] of longint;
procedure try(k:longint);
var i,j:longint;
begin
if k>n then begin inc(s);if s>=m then
begin for j:=1 to n do begin write(a[j],' '); end;halt; end end
else
begin
for i:=1 to n do
begin
if b[i]=0 then
begin
b[i]:=1;
a[k]:=i;
try(k+1);
b[i]:=0;
a[k]:=0;
end;
end;
end;
end;
begin
readln(n,m);
fillchar(b,sizeof(b),0);
try(1);
end.
4 条评论
-
Reticent、罪 LV 7 @ 2013-10-07 08:32:16
和我错的一样。。。
-
2009-09-22 20:37:06@
水啊
...
逆用康托展开 -
2009-09-09 22:11:19@
这题就是用排列都超时!
不过有一个优化!嘻嘻......
加我QQ:840684004
记得有附加信息哦! -
2009-09-08 12:50:01@
这题不是搜索............
这是数论的题目,搜索必定超时
- 1