演算法競賽入門 鐵軌

2021-08-07 04:00:46 字數 1110 閱讀 9693

某城市有乙個火車站,鐵軌鋪設如圖所示。有n節車廂從a方向駛入車站,按進站順序編號為1~n。你的任務是讓它們按照某種特定的順序進入b方向的鐵軌並駛出車站。為了重組車廂,你可以借助中轉站c。這是乙個可以停放任意多節車廂的車站,但由於末端封頂,駛入c的車廂必須按照相反的順序駛出c。對於每個車廂,一旦從a移入c,就不能再回到a了;一旦從c移入b,就不能回到c了。換句話說,在任意時刻,只有兩種選擇:a-->c和c-->b。

輸入樣例:

51 2 3 4 5

55 4 1 2 3

6 6 5 4 3 2 1

樣例輸出:

yesno

yes這裡用了兩種方式,一種是沒用stl庫的,一種是用了stl庫的

**如下:

#include

#include

const

int max = 1000;

int s[max];

int main()

for (i = 1; i <= n; i++)

int top = n-1;

int flag = 0, j = 1, k = n;

while (top)

if (s[top] == a[k])

else

}if (flag)

printf("yes\n");

else

printf("no\n");

}return

0;}

#include

#include

using

namespace

std;

int main()

int j = 1, k = n, flag=0;

while (!s.empty())

if (s.top() == a[k])

else

s.pop();

}if (flag)

cout

<< "yes"

<< endl;

else

cout

<< "no"

<< endl;

}}

演算法競賽入門 洪水

題目意思大概就是,有n m個底面積為10 10的格仔,每個格仔內有各種不同高度的柱子,再有乙個降雨量,來填這些格仔,輸出水面高度,和被淹沒於沒被淹沒的比例。include include include include using namespace std intmain 輸入n m個數,可以看成...

演算法競賽入門 謎題

有乙個5 5的網格,其中恰好有乙個格仔是空的,其他格仔各有乙個字母。一共有4種指令 a,b,l,r,分別表示把空格上 下 左 右的相鄰字母移到空格中。輸入初始網格和指令序列 以數字0結束 輸出指令執行完畢後的網格。如果有非法指令,應輸出 this puzzle has no final config...

演算法競賽入門經典 C 入門

include 提供輸入輸出流 include 提供常用演算法 using namespace std const int maxn 100 10 int a maxn int main return0 宣告陣列時,陣列大小可以用const宣告的常數。在c 中,這樣的寫法更加推薦。include i...