1到n號小朋友順時針坐一圈,圍圈報數。
若乙個小朋友報的數為k的倍數或其末位數(即數的個位)為k,則該小朋友被淘汰。
當只剩乙個小朋友時,該小朋友獲勝。
例如,當n=5, k=2時:
1號小朋友報數1;
2號小朋友報數2淘汰;
3號小朋友報數3;
4號小朋友報數4淘汰;
5號小朋友報數5;
1號小朋友報數6淘汰;
3號小朋友報數7;
5號小朋友報數8淘汰;
3號小朋友獲勝。
給定n和k,請問最後獲勝的小朋友編號為多少?
輸入一行,包括兩個整數n和k,意義如題目所述。
輸出一行,包含乙個整數,表示獲勝的小朋友編號。
5 27 3
對於所有評測用例,1 ≤ n ≤ 1000,1 ≤ k ≤ 9。
應用vector和迭代器。
vectorv;
vector::iterator it;
開始時,迭代器指向v.begin()
,當迭代到v.end()
時,重新指向v.begin()
,從而做到迴圈。
當v.size()==1
時退出迴圈。
迴圈時,若報數報到淘汰值,直接將該元素移出vector:v.erase(it);
。
#includeusing namespace std;
int a[1005]=; //0遊戲中,1出局
int main()
//遊戲開始
int count=0;//報的數
for(it=v.begin();v.size()!=1;)
it++;
} cout
}
vector基礎應用
include include include include include include using namespace std int main1 反向迭代器 int main2 return0 函式物件介面卡的使用 int main3 函式自動轉換為函式物件 bool less7 int ...
vector的應用舉例
1 問題描述 近來寫程式的時候,用到了容器,所以對這個操作進行了一些了解和操作。2 的迭代器的相關函式。表1 vectors的迭代器相關函式 操作 效果c.begin 返回乙個隨機訪問迭代器,指向第乙個元素 c.end 返回乙個隨機訪問迭代器,指向最後元素的下乙個位置 c.rbegin 返回乙個隨機...
動態陣列vector的應用
vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。也就是說它是乙個型別不限 支援隨機訪問但不支援o 1 時間隨機插入的動態陣列。vector的基本操作 1.構造乙個vector vector 型別 如int,string 變數名 如 vector v 2.通過push back 在陣...