蒜頭君有 n
n 塊積木,編號分別為 1
1 到 n
n。一開始,蒜頭把第 i
i 塊積木放在位置 i
i。蒜頭君進行 m
m 次操作,每次操作,蒜頭把位置 b
b 上的積木整體移動到位置 a
a 上面。比如 1
1 位置的積木是 11,2
2 位置的積木是 2
2,那麼把位置 2
2 的積木移動到位置 1
1 後,位置 1
1 上的積木從下到上依次為 1,21,
2。第一行輸入 2
2 個整數 n,m(1 \le n \le 10000, 0 \le m \le 10000)n,
m(1≤
n≤10
000,
0≤m≤
1000
0)。接下來 m
m 行,每行輸入 2
2 個整數 a, b(1 \le a, b \le n)a,
b(1≤
a,b≤
n),如果aa,b
b 相等則本次不需要移動。
輸出 n
n 行,第 i
i 行輸出位置 i
i 從下到上的積木編號,如果該行沒有積木輸出一行空行。
樣例輸入1
2 21 21 2
樣例輸出1
1 2
樣例輸入2
4 43 14 3
2 42 2
樣例輸出2
2 4 3 1
思路 : 先給每一項初始化 然後逐次判斷 b為空或者b==a不進行執行操作 else 將b中的所有元素 依次push到a中 並將b置空
最後進行輸出 為空則只輸出換行
#include #include using namespace std;
vectors[10010];
int main()
} }for(int i = 1; i <= n; i++)
if(s[i].empty())
cout
return 0;
}
計蒜客習題 蒜頭君的積木
問題描述 蒜頭君酷愛搭積木,他用積木搭了 n 輛重量為 wi的小車和一艘最大載重量為 w 的小船,他想用這艘小船將 n 輛小車運輸過河。每次小船運載的小車重量不能超過 w。另外,小船在運載小車時,每輛小車會對小船有乙個損壞值si,當多輛小車一起運載時,該趟運載對小船的損壞值為船上所有小車的最大損壞值...
計蒜客 2019計蒜之道D
題意 現在給定你乙個字串 s ss 以及乙個整數 k kk,請求出 s ss的字典序最小的長度為 k kk的子串行。資料範圍 0 s 5000000 00 s 5000 000 樣例輸入 helloworld 5樣例輸出 ellld思路 假如我們先不考慮長度為k的限制我們應當怎麼做?我們以樣例為例子...
計蒜客 解碼
蒜頭君自己發明了一種字串的編碼方式,對於只含有大小寫字母的字串,可以用數字來表示括號裡面的串連續出現的次數 數字有可能超過一位數 比如a abcd 2等價於aabcdabcd。特別地,如果數字前面沒有括號,表示緊貼數字的前面的 乙個字母 出現的次數。比如abc2表示abcc。為了降低解碼的難度,蒜頭...