有乙個序列w,初始為空。再給出乙個長度為m 單調遞增的序列a。你需要對序列w 作如下n 次操作:
(1)操作0,在序列尾部新增數字0。
(2)操作1,在序列尾部新增數字1.
(3) 操作-1,刪除序列w 中,所有位於位置ai 的數(1<=i<=m)。比如a=,就將w 中第1,3,5 個數刪除。若ai>w 的當前長度,則該操作停止。輸出n 次操作後的序列w。
該題根據題目描述,可以直接定義三個操作對應的函式處理使用者輸入即可。
首先從題目的條件入手,讓使用者輸入兩個整數n和m,然後輸入m個整數作為序列a,後面有n行整數分別代表不同的操作。
使用stl向量容器儲存w和a序列。0和1操作可直接使用庫函式push_back進行序列值的新增,定義deletesequence函式執行從序列w中刪除a序列值對應位置的元素,在刪除前進行合法性判斷。執行完操作後的w序列即為答案。
#include
#include
using
namespace std;
void
printsequence
(const vector<
int>
& a)
cout << endl;
}void
deletesequence
(vector<
int>
& w,
const vector<
int>
& a)
w.erase
(w.begin()
+(n -1)
);flag =
true;}
else}}
intmain()
while
(n >0)
n--;}
if(w.
empty()
)printsequence
(w);
return0;
}
2020安徽程式設計省賽 G序列遊戲
有乙個序列w,初始為空。再給出乙個長度為m 單調遞增的序列a。你需要對序列w 作如下n 次操作 1 操作0,在序列尾部新增數字0。2 操作1,在序列尾部新增數字1.3 操作 1,刪除序列w 中,所有位於位置ai 的數 1 i m 比如a 就將w 中第1,3,5 個數刪除。若ai w 的當前長度,則該...
2015 安徽程式設計省賽總結
首先分析一下比賽過程吧,一開始發現f題是個完全揹包,然後dp含義啥的居然忘了,太激動,辛虧physcal及時糾正,a了第一題 然後pentium開敲第二題,這題由於精度問題一直沒a掉,wa了7,8次,期間試過map,set等各個yy方法,於是成為比賽期間一直縈繞的陰影 之後yya題無果,a題題意是選...
安徽省2016「京勝杯」程式設計大賽 G 木條染色
time limit 1000 ms memory limit 65536 kb total submissions 134 accepted 20 小明是乙個非常浪漫的畫家,他喜歡畫各種奇奇怪怪的畫,雖然沒人理解他畫的究竟是什麼東西。有一天,他突發奇想,對於一根木條,他每次從木條中選取乙個區間 l...