| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:简单约瑟夫问题,注意存下数据,数据有重复,不存会超时In Reply To:简单约瑟夫问题,注意存下数据,数据有重复,不存会超时 Posted by:ld2rxt at 2014-09-13 23:32:38 > #include<stdio.h>
> int a[15];
> int main()
> {
> int k;
> while(scanf("%d",&k)&&k!=0)
> {
> int i,j,m = k,s;
> if(a[k])
> {
> printf("%d\n",a[k]);
> continue;
> }
> for(;;m++)
> {
> for(i=0;i<k;i++)
> {
> s = (m-1)%(2*k - i);
> for(j=2*k-i;j<2*k;j++)
> {
> s = (s+m)%(j+1);
> }
> if(s<k) break;
> }
> if(i==k)
> {
> break;
> }
> }
> printf("%d\n",m);
> a[k] = m;
> }
> return 0;
> }
> 我看讨论有人说结果一定是k-1或者k的倍数的没懂,请教一下
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator