codevs1337 銀行裡的迷宮
題目大意:給你個n*m的迷宮,要求在給定的時間t內從(1,1)走到(n,m)並經過乙個a,如果不能就輸出「oh my god!」(沒有a就不用走a,而且只能向下或向右走)。
輸入描述 input description
第1行是n,m, time,三個整數。
第2到n+1行每行有m個字母(有大寫也有小寫的)
字母解析:t(t)是陷阱,w(w)是牆,r(r)是路,a(a)是**~ (遇到不認識的字元就~算之為路!)
輸出描述 output description
僅一行走出迷宮的最小時間t(走一步要一秒的說),不能在規定時間走出迷宮,或者 打不了**,請輸出「oh my god!」(不包括引號)。
思路:因為只能向下或向右而且必須經過乙個a,我們可以把所有a的座標都存下來然後列舉起點到每個a的距離和終點到每個的a的距離,取min,即起點到終點的最短距離,其餘的就是簡單的偽dp了。
題解:
#include
#include
#include
using
namespace
std;
const
int maxn=100000;
int n,m,t;//變數不能設為time,否則會ce
char a[505][505];
struct ccf[maxn<<2];
int ans;
int dp[505][505];
int dp1[505][505];
int main()
else
if(a[i][j]=='a'||a[i][j]=='a')}}
for(int i=1;i<=n;i++)
else
if(a[i][j]=='t'||a[i][j]=='t')
else
if(a[i][j]=='a'||a[i][j]=='a')
else
if(a[i][j]=='s'||a[i][j]=='s')//有個奇怪的s,當做r就好了。
dp[1][1]=0;}}
for(int i=n;i>=1;i--)
else
if(a[i][j]=='t'||a[i][j]=='t')
else
if(a[i][j]=='a'||a[i][j]=='a')
else
if(a[i][j]=='s'||a[i][j]=='s')
dp1[n][m]=0;}}
ans=1000000;
for(int i=1;i<=tot;i++)
if(ans>t)
else
return
0;}
codevs 4159 hzwer的迷 數列
hzwer找了乙個人畜無害的迷 數列 現在hzwer希望對這個數列進行一些操作,請你來回答hzwer的問題。操作一 查詢第i個數的大小 操作二 把第i個數的大小改成x 操作三 將整個序列反轉。即把第i個數放到第n i 1個。輸入資料第一行兩個數n,m,表示數列長度和運算元。第二行n個數,表示n個元素...
AS5600 桂林銀行桌面虛擬化裡的黑科技
當移動辦公的需求受制於傳統pc端不可移動的特質,當伺服器數量不斷增多 機房可利用的空間越來越小,由此帶來的問題是一連串的 應用數量龐雜 資源利用率低 單點故障 管理困難 業務辦理效率低 如何將這些問題一一化解?浪潮儲存來分享一項黑科技。廣西老百姓 家門口的銀行 如何提公升業務效率 桂林銀行成立於19...
找到的不再是「在銀行裡下象棋的奧特曼」
框搜尋的核心是語義web 也就是基於語義的搜尋,可以通過乙個笑話來說明,有乙個笑話 一女子,開出徵婚條件有兩點.1.要帥 2.要有車 電腦去幫她搜尋 結果 象棋 這位女子,不服搜出的結果又輸入 1.要有漂亮的房子 2.要有很多錢 電腦去幫她再次搜尋的結果 銀行 此女子仍然不失望,繼續輸入條件 1要長...