description
你有一些小球,從左到右依次編號為1,2,3,...,n. 你可以執行兩種指令(1或者2)。其中, 1 x y表示把小球x移動到小球y的左邊, 2 x y表示把小球x移動到小球y右邊。 指令保證合法,即x不等於y。 例如,初始狀態1,2,3,4,5,6的小球執行1 1 4後,小球1被移動到小球4的左邊,即2,3,1,4,5,6。如果再執行2 3 5,結點3將會移到5的右邊,即2,1,4,5,3,6。
第一行為乙個整數t(0為每個測試用例單獨輸出一行,從左到右輸出最後序列,每個數字後面跟乙個空格。
26 2
1 1 4
2 3 5
5 1
2 1 5
2 1 4 5 3 62 3 4 5 1
#include #include#include
using
namespace
std;
class
ball;
ball array[
500001];//
大陣列不能放在main()內
void moveball(int order,int first,int second,ball array)
else
}int
main()
while(commandnum--)
else
if(order == 1 && second == head)
else
moveball(order,first,second,array);
}//所有order執行完畢之後輸出
for(i = 0;i < numofball-1;i++)
cout
<< head <}
system(
"pause");
return0;;
}
Sicily1934 移動小球
時間限制 1 秒,記憶體限制 32 兆 你有一些小球,從左到右依次編號為1,2,3,n.你可以執行兩種指令 1或者2 其中,1 x y表示把小球x移動到小球y的左邊,2 x y表示把小球x移動到小球y右邊。指令保證合法,即x不等於y。例如,初始狀態1,2,3,4,5,6的小球執行1 1 4後,小球1...
課程作業五
上次作業我已經將我的乙個類分為了四個類,而且已經進行了 的實現。git傳送門 在四則運算器的計算算式的值的編寫中,我用到了棧。下面是我所學到的一些知識。棧是一種特殊的線性表,只能從固定的方向進出,而且棧進出的基本原則是 先進棧的元素後出棧。它按照先進後出的原則儲存資料,先進入的資料被壓入棧底,最後的...
課程作業一
github鏈結 這次作業我選擇了重構 因為我上幾次作業使用了類似於出題模板的 導致我的程式隨機性不夠,於是我下定決心寫乙份符合我自己的要求的 期間遇見了許許多多的問題,例如計算生成算式值的時候,自己也想了了乙個思路 用string型變數來儲存算式,然後去尋找第乙個 然後計算它與前乙個 之間算式的值...