某城市有乙個火車站,鐵軌鋪設如圖所示。有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...