切换到宽版
  • 5242阅读
  • 6回复

放书问题 [复制链接]

上一主题 下一主题
离线少先队
 
只看楼主 倒序阅读 0 发表于: 2006-12-06
在书架上放有编号为1,2,....n的n本书。现将n本书全部取下然后再放回去,当放回去时要求每本书都不能放在原来的位置上。例如:n=3时:
  原来位置为:123
  放回去时只能为:312或231这两种
 问题:求当n=5、8、10时满足以上条件的放法各有多少种?(请列出每种放法)
离线少先队
只看该作者 1 发表于: 2006-12-06
瞧我的!!!var n,t,p,s,i:longint;g:array[1..1000]of integer;
begin
read(n);t:=1;
repeat
  while g[t]<n do
    begin
      g[t]:=g[t]+1;p:=0;
      for i:=1 to t-1 do if g[t]=g then p:=1;
      if p=1 then continue;
      if g[t]=t then continue;
      if t=n then begin s:=s+1;for i:=1 to n do write(g,' ');writeln;end
      else t:=t+1;
    end;
  g[t]:=0;t:=t-1;
until t=0;
writeln(s);
end.
离线雨化石
只看该作者 2 发表于: 2006-12-06
我打算做做
离线雨化石
只看该作者 3 发表于: 2006-12-06
希望能大功告成
离线hy6210cs
只看该作者 4 发表于: 2007-02-04
1楼的~不错呀~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
离线hy6210cs
只看该作者 5 发表于: 2007-02-08
不错嘛~~~~~~~~~~~~~~~~~~~~~~~
离线hy6210cs
只看该作者 6 发表于: 2007-02-08
加油~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
快速回复
限100 字节
 
上一个 下一个