codevs 卡片遊戲

題目描述 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.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章