洛谷 P1145 約瑟夫

2022-04-04 21:28:30 字數 752 閱讀 1487

n個人站成一圈,從某個人開始數數,每次數到m的人就被殺掉,然後下乙個人重新開始數,直到最後只剩乙個人。現在有一圈人,k個好人站在一起,k個壞人站在一起。從第乙個好人開始數數。你要確定乙個最小的m,使得在第乙個好人被殺死前,k個壞人先被殺死。

感謝yh大神指出樣例資料的錯誤。

輸入格式:

乙個k,0輸出格式:

乙個m輸入樣例#1:

3
輸出樣例#1:

5
輸入樣例#2:

4
輸出樣例#2:

30
0屠龍寶刀點選就送

70分環形佇列

#include int k,next[30

];bool check(intm)}

intmain()

for(int i=1;i2;++i) next[i]=i+1;next[k*2]=1

; }

return0;

}

ataataaaat

ac** 

#include int

flag,ans,now,k;

bool check(int

remain)

else

return0;

}int

main()

}printf(

"%d\n

",ans-1

);

return0;

}

洛谷P1996 約瑟夫問題

約瑟夫是乙個無聊的人!n個人 n 100 圍成一圈,從第乙個人開始報數,數到m的人出列,再由下乙個人重新從1開始報數,數到m的人再出圈,依次類推,直到所有的人都出圈,請輸出依次出圈人的編號.輸入格式 n m輸出格式 出圈的編號 輸入樣例 1 複製10 3 輸出樣例 1 複製3 6 9 2 7 1 8...

洛谷P1996 約瑟夫問題

約瑟夫是乙個無聊的人!n個人 n 100 圍成一圈,從第乙個人開始報數,數到m的人出列,再由下乙個人重新從1開始報數,數到m的人再出圈,依次類推,直到所有的人都出圈,請輸出依次出圈人的編號.n m出圈的編號 輸入 1 10 3輸出 1 3 6 9 2 7 1 8 5 10 4m,n 100 1 由於...

洛谷 約瑟夫問題(P1996,佇列)

n 個人圍成一圈,從第乙個人開始報數,數到 m 的人出列,再由下乙個人重新從 1 開始報數,數到 m 的人再出圈,依次類推,直到所有的人都出圈,請輸出依次出圈人的編號。輸入格式 輸入兩個整數 n,m。輸出格式 輸出一行 n 個整數,按順序輸出每個出圈人的編號。輸入輸出樣例 輸入10 3 輸出3 6 ...