codevs 卡片游戏

来源:互联网 发布:乐乎亚洲雄风的喜欢 编辑:程序博客网 时间:2024/05/17 08:13

题目描述 Description

桌面上有一叠牌,从第一张牌(即位于顶面的牌)开始从上往下依次编号为1~n.当至少还剩两张排时进行一下操作:把第一张牌扔掉,然后把新的第一张牌放到整叠牌的最后。输入n。输出每次扔掉的牌,以及最后剩下的牌。。

分析:

说是费用流的题目,但是直接用数组暴力模拟就过了。。。


代码:

var

  t,n:longint;

  a:array[1..100000]of longint;

  i:longint;

begin

 read(n);

 for i:=1 to n do

   a[i]:=i;


 while n>=2 do

 begin

   write(a[1]);

   t:=a[2];

   for i:=3 to n do

     a[i-2]:=a[i];

   a[n-1]:=t;

   dec(n);

 end;

 write(a[1],' ');

end.


0 0