約瑟夫環(vector類解決)
約瑟夫環(vector類解決)
【問題描述】
n 個人(編號從1~n)圍成一圈,從第 k 個人開始數數,數到 m 的人出圈,然後繼續從未出列的下一個人開始數數,數到 m 的人出圈,重複上述過程,直到圈中僅剩下一人。
【輸入形式】
輸入為一行三個正整數,n、k、m。
【輸出形式】
輸出為一個正整數,表示最後剩下的人的編號。,
【樣例輸入】
100 1 5
【樣例輸出】
47
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> a;
int n = 0, i = 0, k = 0, m = 0, p = 0;
cin >> n >> k >> m;
for (i = 0;i < n;i++) { //初始化
a.push_back(i + 1);
}
p = k - 2; //從第n個人開始數,第零位其實是n前面的那個人。陣列表示法,還要減一
while (a.size() > 1) { //迴圈剔除,直到只剩一個
for (i = 0;i < m;i++) {
if (p+1 >= a.size()) {//如果已經到了最後一個數
p = 0;
}
else {
p++;
}
}
a.erase(a.begin() + p);
p--;//重新指向前一個數,再迴圈m次
}
cout << a[0];
}
注意:
在此處初始化只能用a.push_back()函式。如果使用vector int a <10000> 再迴圈賦值輸入。a.size()將是10000。
此外,a.size()的儲存型別是short int。無法與-1比較。
相關文章
- 陣列解決約瑟夫環問題陣列
- 約瑟夫環遊戲遊戲
- 約瑟夫環(陣列實現)陣列
- 約瑟夫環 佇列+連結串列佇列
- IOS 約瑟夫環遊戲的實現iOS遊戲
- 約瑟夫(Josephus problem)環問題初探
- 約瑟夫環問題——初步瞭解+陣列實現陣列
- 連結串列面試題(八)---約瑟夫環面試題
- 面試題—Java遞迴實現約瑟夫環面試題Java遞迴
- java環形連結串列約瑟夫環問題筆記Java筆記
- 用Python實現約瑟夫環演算法Python演算法
- 約瑟夫環(Josephus)問題--報數遊戲(連結串列)遊戲
- 【圖解經典演算法題】如何用一行程式碼解決約瑟夫環問題圖解演算法行程
- 約瑟夫環(超好的程式碼存檔)--19--約瑟夫環--LeetCode面試題62(圓圈最後剩下的數字)LeetCode面試題
- 約瑟夫問題pascal程式
- 約瑟夫出圈演算法演算法
- 約瑟夫生者死者遊戲問題遊戲
- javascript中使用迴圈連結串列實現約瑟夫環問題JavaScript
- 牛客題霸NC132環形連結串列的約瑟夫問題Java題解Java
- P1996 約瑟夫問題996
- 實戰資料結構(4)_迴圈單連結串列解決約瑟夫問題資料結構
- 迴圈連結串列(約瑟夫問題)--python實現Python
- js利用指標操作約瑟夫問題程式碼例項JS指標
- 物件導向程式設計 約瑟夫問題簡要分析物件程式設計
- C語言陣列實現約瑟夫環出圈問題 程式碼詳細註釋 簡單易懂C語言陣列
- 資料結構實驗一:順序表的建立與操作實現、順序表實現約瑟夫環問題資料結構
- 3.2資料結構之指標和連結串列 1748:約瑟夫問題資料結構指標
- 洛谷題單指南-線性表-P1996 約瑟夫問題996
- 實驗九 類與物件(一) 程式片段程式設計題 5. 約瑟夫問題2020-12-12物件程式設計
- Vector3 類簡介
- vector::clear(),容器vector的clear函式詳解。函式
- c++ vector用法詳解C++
- STL 之 vector 容器詳解
- 約瑟夫問題,輸入總人數,自動產生大於0小於n的隨機數隨機
- 1234: 華科版C語言程式設計教程(第二版)習題6.11(約瑟夫問題)C語言程式設計
- 有贊環境解決方案
- 解決所有環境問題
- 理解馬爾可夫決策過程馬爾可夫