圓桌問題 動態陣列vector

2021-10-08 18:36:48 字數 717 閱讀 5467

圓桌邊圍坐著2n個人。其中n個人是好人,另外n個人是壞人。從第乙個人開始數,數到第m個人,立即趕走該人;然後從被趕走的人之後開始數,再將數到的第m個人趕走,依此方法不斷趕走圍坐在圓桌邊的人。

預先應如何安排這些好人與壞人的座位,才能使得在趕走n個人之後圓桌邊圍坐的剩餘的n個人全是好人?

輸入:多組資料,每組資料輸入: n,m≤32767。

輸出:對於每一組資料,輸出2n個大寫字母,「g」表示好人,「b」表示壞人,50個字母為一行,不允許出現空白字元。相鄰資料間留有乙個空行。

輸入樣例:

2 32 4

輸出樣例:

gbbg

bggb

#include

using

namespace std;

intmain()

int pos=0;

//記錄當前位置

for(

int i=

0;i)//趕走n個人

int j=0;

for(

int i=

0;i<

2*n;i++

)//列印預先安排座位

if(jsize()

&&i==table[j]

)//table留下的都是好人

else

} cout

}return0;

}

VECTOR動態陣列

vector是同一種型別的物件的集合 vector的資料結構很像陣列,能非常高效和方便地訪問單個元素 vector是乙個類模板 class template 要使用vector必須包含相關標頭檔案 include using std vector 注 空間是連續的 空間是可以擴充套件的 貌似是矛盾的...

Vector 動態陣列

容器 順序式容器 vecto 動態陣列,從末尾快速插入刪除,直接訪問任何元素 list 雙鏈表,從任何地方快速插入刪除 deque 雙向佇列,從前面與後面快速插入刪除,直接訪問任何元素 priority queue 優先佇列,最高優先順序元素總是最先出列 stack 棧,後進先出 先進後出 關聯式容...

vector 動態陣列

含義v.push back 在vector最後新增乙個元素 v.pop back 移除最後乙個元素 v.insert 插入元素到vector中 v.back 返回最末乙個元素 v.begin 返回第乙個元素的迭代器 v.end 返回最末元素的迭代器 譯註 實指向最末元素的下乙個位置 v.erase ...