目錄hdu4841
解本題時使用了剛學的stl vector,注意hdu不支援萬能標頭檔案#include
,所以要記得使用#include
。
這裡是c++**。
#include#includeusing namespace std;
int main()
pos = 0;
//刪除壞人
for(i=0;i本題的兩個思考點是:
1.環形桌子,到末尾又回到開頭。使用取模來實現。
2.如何在刪除了壞人元素後保留好人位置的資訊。一開始將位置資訊存入陣列中來實現。
本題的輸出格式也比較苛刻,要注意換行的數量。
每行輸出50個字母:
功能例子
說明定義int型陣列
vectora;
預設初始化,a為空
vectorb(a);
用a定義b
vectora(100);
a有100個值為0的元素
vectora(100,6);
100個值為6的元素
定義string型陣列
vectora(10,"null");
100個值為6的元素
vectorvec(10,"hello");
10個值為hello的元素
vectorb(a.begin().a.end());
b是a的複製
定義結構型陣列
struct point
vectora;
a用來存座標
功能例子
說明賦值
a.push_back(100);
在尾部新增元素
元素個數
int size = a.size();
元素個數
是否為空
bool isempty = a.empty();
判斷是否為空
列印cout列印第乙個元素
中間插入
a.insert(a.begin()+i,k);
在第i個元素前面插入k
尾部插入
a.push_back(8);
尾部插入值為8的元素
尾部插入
a.insert(a.end(),10,5);
尾部插入10個值為5的元素
刪除尾部
a.pop_back();
刪除末尾元素
刪除區間
a.erase(a.begin()+i,a.begin()+j);
刪除區間[i,j-1]的元素
刪除元素
a.erase(a.begin()+2);
刪除第3個元素
調整大小
a.resize(n)
陣列大小變為n
清空a.clear();
翻轉reverse(a.begin(),a.end());
用函式reverse翻轉陣列
排序sort(a.begin(),a.end());
用函式sort排序,從小到大
HDU 4841 圓桌問題
acm模版 這個題簡單的來就是暴力列舉約瑟夫環,當然,太暴力也不好,適當的用資料結構優化一下也是有必要的,這裡用向量維護,成功水過。include include include include include using namespace std const int maxn 4e4 const...
hdu4841 圓桌問題
圓桌上圍坐著2n個人。其中n個人是好人,另外n個人是壞人。如果從第乙個人開始數數,數到第m個人,則立即處死該人 然後從被處死的人之後開始數數,再將數到的第m個人處死 依此方法不斷處死圍坐在圓桌上的人。試問預先應如何安排這些好人與壞人的座位,能使得在處死n個人之後,圓桌上圍坐的剩餘的n個人全是好人。多...
HDU 4841 圓桌問題
圓桌上圍坐著2n個人。其中n個人是好人,另外n個人是壞人。如果從第乙個人開始數數,數到第m個人,則立即處死該人 然後從被處死的人之後開始數數,再將數到的第m個人處死 依此方法不斷處死圍坐在圓桌上的人。試問預先應如何安排這些好人與壞人的座位,能使得在處死n個人之後,圓桌上圍坐的剩餘的n個人全是好人。i...