约瑟夫问题

QQ一朋友问我约瑟夫问题…经典咯..用链表做,想想自己很久没有用过链表咯,决定试试,费咯九牛二虎之力,总算结束咯..汗…自己退化得好快…只有5天咯..可以说..
程序清单:
Code:

Type
  Point=^node;
    node=Record
    dat:Word;
    link:Point;
End;

Var
  head,tail,tmp:Point;
  m,n,i,Count:Word;

Begin
  ReadLn(m,n);
  New(head);
  head^.dat:=1;
  tail:=head;
  For i:=2 To m Do
    Begin
      New(tmp);
      tmp^.dat:=i;
      tail^.link:=tmp;
      tail:=tmp;
    End;
  tail^.link:=head;
  tail:=head;
  Count:=m;
  While Count>1 Do
    Begin
      For i:=3 To n Do tail:=tail^.link;
      tmp:=tail^.link;
      tail^.link:=tmp^.link;
      tail:=tmp^.link;
      //WriteLn(tmp^.dat);
      Dispose(tmp);
      Dec(count);
    End;
  WriteLn(tail^.dat);
End.

程序应该还是没有问题…费了点时间…

昨天USACO得nov’5比赛…我想去看看…竟然说我作弊,想咯想,可能是资格赛,问问,果然…我很久没有usaco咯,上次是卡到checker,时限1s比较难…我当时没有continue咯..现在还是bronze“`进不去…55~~看能不能进步…

发布者:巫山霏云

巫山霏云,87年生巨蟹,文科生,IT男,喜读书,不求甚解,

留下评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据