[YTU]_2018 ( 约瑟夫问题)
生活随笔
收集整理的這篇文章主要介紹了
[YTU]_2018 ( 约瑟夫问题)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
n個人想玩殘酷的死亡游戲,游戲規則如下: n個人進行編號,分別從1到n,排成一個圈,順時針從1開始數到m,數到m的人被殺,剩下的人繼續游戲,活到最后的一個人是勝利者。請輸出最后一個人的編號。
Input
輸入n和m值。
Output
輸出勝利者的編號。
Sample Input
5 3
Sample Output
4
HINT
第一輪:3被殺
第二輪:1被殺
第三輪:5被殺
第四輪:2被殺
#include <iostream> using namespace std; int main() {void s(int *,int i,int n,int m);int n,m,i,a[10000];cin>>n>>m;for(i=0;i<n;i++)a[i]=i+1;s(a,i,n,m);cout<<a[0]<<endl;return 0; } void s(int *p,int i,int n,int m) {int t,u;for(u=0;u<n-1;u++){i=(i+m-1)%(n-u);for(t=i;t<n-u;t++){p[t]=p[t+1];}} }
總結
以上是生活随笔為你收集整理的[YTU]_2018 ( 约瑟夫问题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [YTU]_1055 (输入字符串以及输
- 下一篇: [YTU]_1063 (输入三个整数,按