【Luogu1996】約瑟夫問題(模擬,解法彙總)
problem
- n個人,每次數到m的人出隊
- 輸出出隊順序
- n<=100
solution1
- 模擬:每次列舉第m個人出隊
- O(n,m)
#include<iostream>
using namespace std;
int n, m, a[110];
int main(){
cin>>n>>m;
int pos = 0;//上一次出隊的位置,從0開始
for(int i = 1; i <= n; i++){//第i次選人
int j = 0;
while (j != m){//往右走m個就出去
pos++;
if(pos == n+1)pos = 1;
if(a[pos]==0)j++;
}
a[pos] = 1;
cout<<pos<<' ';
}
return 0;
}
solution2
- 數學:第n個出隊的人
f[n] = (f[n-1]+m)%n, f[1]=0
,可以遞推求解了。
相關推薦
【Luogu1996】約瑟夫問題(模擬,解法彙總)
problem n個人,每次數到m的人出隊 輸出出隊順序 n<=100 solution1 模擬:每次列舉第m個人出隊 O(n,m) #include<iostream> using namespace std;
【OJ】約瑟夫環問題
#include<stdio.h> class Person{ public: int name; bool flag; }; int main() { int m = 0; // 一共m個人 int n = 0; // 從1開始報數 報到n的那
【演算法】約瑟夫環
有n 個人圍城一圈每次從1數起數到3就把那個人提出圈子,最後只保留一個人。 輸入: 輸入人數字符串輸出:把最後一個人所保留位置返回出來。比如你輸入11 的話即有11個人 [1,2,3,4,5,6,7,8,9,10,11] 。返回的是7 &n
【Algo】約瑟夫問題(Josephus problem / Josephus permutation)
NNN 個人圍一圈, 選一個人, 從 1 開始計數, 計到第 kkk 個人出局, 剩下的人組成新環, 再次從 1 開始計數, 計到 kkk 的人出局. 如此反覆, 直到剩下最後一個人, 作為勝利者. 問, 在遊戲開始時, 排在第幾號位置, 可以保證自己是最後
【BZOJ2246】[SDOI2011]迷宮探險(搜尋,動態規劃)
【BZOJ2246】[SDOI2011]迷宮探險(搜尋,動態規劃) 題面 BZOJ 洛谷 題解 乍一看似乎是可以求出每個東西是陷阱的概率,然而會發現前面走過的陷阱是不是陷阱實際上是會對當前狀態產生影響的。考慮一下狀壓,因為出了是陷阱和不是陷阱,還有一種情況是未知。所以三進位制狀壓。 \(0\)表示是有
【資料結構演算法】約瑟夫環問題(線性表)
據說著名猶太曆史學家 Josephus有過以下的故事:在羅馬人佔領喬塔帕特後,39 個猶太人與Josephus及他的朋友躲到一個洞中,39個猶太人決定寧願死也不要被敵人抓到,於是決定了一個自殺方式,41個人排成一個圓圈,由第1個人開始報數,每報數到第3人該人就必須自殺,然後再由下一個重新報數,直到所有人都自殺
【c++提問】約瑟夫環問題
ocl wmi lsa rul 2dx hdp and kml eee 家煩堵zx1ul秩枷言http://weibo.com/u/6221316968部坎夢8t970帕糖良http://weibo.com/u/6378557985兜杉稚k9v00劑重凸http://wei
小米OJ #67【開始報數 約瑟夫環問題】
描述 有 500 個小孩圍成一圈,編號從 1 到 500,從第一個開始報數:1,2,3,1,2,3,1,2,3,……每次報到 3 的小孩退出。問第 n 個被淘汰的小孩,在最開始 500 人裡是的編號是
【51NOD-1875-丟手絹】 約瑟夫環+暴力
51NOD1875丟手絹 題意就是約瑟夫環問題,n個人每次向後傳遞k次然後這個人退出遊戲,問最後一個人是誰。 這道題給出n,一共2*n個人進行遊戲,要求前n個退出遊戲的人序號在n+1-2n之間, 由於這道題n只有14,我們只要暴力算出14種情況即可,但是這裡暴力
【Python列表基礎】約瑟夫問題
比較簡單,沒啥好說的嚶嚶嚶~ # -*- coding: utf-8 -*- """ Created on Sun Nov 4 15:30:35 2018 @author: wyt """ #約瑟夫問題 #佇列移動sep單位 def move(man,sep):
hdu 1443 joseph (約瑟夫環模擬)
proverb Do not spend all your time on training or studying – this way you will probably become very exhausted and unwilling to compete
【UVA】1596 Bug Hunt(模擬)
num com pan dig 分析 bit i++ cnblogs main 題目 題目 ? ? 分析 算是個模擬吧 ? ? 代碼 #include <bits/stdc++.h> using namespace std; map<int,int&g
【BZOJ3680】吊打XXX(模擬退火)
pre post 找到 line == down set turn += 【BZOJ3680】吊打XXX(模擬退火) 題面 BZOJ 題解 模擬退火。。。 就是模擬退火 然後這題有毒 各種調參數之後終於\(AC\)了。。 這種題就是玄學呀。。。 溫度要調大 最後跑完還要向四
【BZOJ1970】[AHOI2005]礦藏編碼(模擬)
fin put https cst tor main efi long ring 【BZOJ1970】[AHOI2005]礦藏編碼(模擬) 題面 BZOJ 洛谷 題解 隨便寫個高精度模擬一下就完了。 #include<iostream> #include<
【CodeForces - 864C】Bus (模擬,有坑)
題幹: A bus moves along the coordinate line Ox from the point x = 0 to the point x = a. After starting from the point
【CodeForces - 264A】Escape from Stones (模擬,卡精度的處理)
題幹: Squirrel Liss lived in a forest peacefully, but unexpected trouble happens. Stones fall from a mountain. Initially Squirrel Liss occupies an i
【UVA - 227】Puzzle (模擬,水題)
題幹: Puzzle A children's puzzle that was popular 30 years ago consisted of a 5x5 frame which contained 24 small squares of equal size.
【TensorFlow】Programming model + 小試牛刀(模擬Neural Network )
1 【TensorFlow】程式設計模式 TensorFlow 程式設計模式的核心是“計算圖”,可分為兩部分:建立“計算圖”與執行計算圖 ,更多說明可以檢視 《TensorFlow+Keras》Learning notes 1.1 建立計算圖 匯入Tenso
The Dole Queue 約瑟夫環 模擬
A CM Conte st Problems Archive Univers ity of Valladolid (SPAIN) 133 The Dole Queue In a serious
演算法題-約瑟夫(Joseph)問題求解
題:編寫一個程式,求解約瑟夫(Joseph)問題。有n個小孩圍城一圈,將他們從1開始依次編號,從編號為1的小孩開始報數,數到第m個小孩出列,然後從出列的下一個小孩重新開始報數,數到第m個小孩有出列,如此反覆,直到所有的小孩全部出列為止,求整個出列序列。例如n=6,m=5是出