代码改变世界

1499. And Then There Was One

2011-04-29 22:05  Min·zc  阅读(161)  评论(0编辑  收藏  举报


传送门

http://soj.me/1499

 1 /*直接模拟应该会超时

 2  *上网查了一下yua约瑟夫环问题
 3  *具体详细的讲解移步
 4  *http://www.cublog.cn/u2/78609/showart_1274999.html
 5  */
 6 
 7 #include <iostream>
 8 using namespace std;
 9 int main()
10 {
11         int n,k,m;
12         while(cin>>n>>k>>m)
13         {
14                 if(n==0&&k==0&&m==0)
15                         break;
16                 int ans=0;
17                 for(int i=2;i<n;i++)
18                         ans=(ans+k)%i;
19                 
20                 ans=(ans+m)%n;ans++;//因为我们的编号是从1开始的所以要加1
21                 if(ans==0)
22                         cout<<n<<endl;
23                 else
24                 cout<<ans<<endl;
25         }
26 }