約瑟夫問題 1197

2021-09-01 11:35:53 字數 1042 閱讀 9217

submit

statistic

discuss

problem description

n個人想玩殘酷的死亡遊戲,遊戲規則如下:

n個人進行編號,分別從1到n,排成乙個圈,順時針從1開始數到m,數到m的人被殺,剩下的人繼續遊戲,活到最後的乙個人是勝利者。

請輸出最後乙個人的編號。

input

輸入n和m值。

output

輸出勝利者的編號。

sample input

5 3
sample output

4
hint

第一輪:3被殺第二輪:1被殺第三輪:5被殺第四輪:2被殺

source

**:#include

using namespace std;

struct node {

int data;

struct node *next;

int main (){

struct node *head,*p,*tail;

head=new node;

head->next=null;

p=head;

int m,n;

scanf ("%d%d",&m,&n);

for (int i=1;i<=m;i++){

tail=new node;

tail->data=i;

tail->next=null;

p->next=tail;

p=tail;

p->next=head->next;

p=head->next;

tail=head;

while(p->next->data!=p->data)

if(n>1)

for(int i=1;itail=p;

p=p->next;

tail->next=p->next;

p=p->next;

printf ("%d\n",p->data);

return 0;

1197約瑟夫問題

time limit 1000ms memory limit 65536k 有疑問?點這裡 n個人想玩殘酷的死亡遊戲,遊戲規則如下 n個人進行編號,分別從1到n,排成乙個圈,順時針從1開始數到m,數到m的人被殺,剩下的人繼續遊戲,活到最後的乙個人是勝利者。請輸出最後乙個人的編號。輸入n和m值。輸出勝...

1197約瑟夫問題

約瑟夫問題 time limit 1000 ms memory limit 65536 kib problem description n個人想玩殘酷的死亡遊戲,遊戲規則如下 n個人進行編號,分別從1到n,排成乙個圈,順時針從1開始數到m,數到m的人被殺,剩下的人繼續遊戲,活到最後的乙個人是勝利者。...

約瑟夫問題 sdut 1197

約瑟夫問題 time limit 1000ms memory limit 65536k 題目描述 n個人想玩殘酷的死亡遊戲,遊戲規則如下 n個人進行編號,分別從1到n,排成乙個圈,順時針從1開始數到m,數到m的人被殺,剩下的人繼續遊戲,活到最後的乙個人是勝利者。請輸出最後乙個人的編號。輸入 輸入n和...