用dp[i][j]代表第i行第j列的數可以走的最大距離。為-1時表示未走過,將走過但未走完的暫時標記為INF。這樣假如有環的時候就返回INF了。然後用dfs搜。
代碼如下:
#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 const int INF=0x3f3f3f3f; char mp[1001][1001], str[]=DIMA; int dp[1001][1001]; int jx[]={0,0,1,-1}; int jy[]={1,-1,0,0}; int n, m; int dfs(int x, int y, int tmp) { if(dp[x][y]!=-1) return dp[x][y]; dp[x][y]=INF; int i, a, b, t=0; tmp=(1+tmp)%4; for(i=0;i<4;i++) { a=x+jx[i]; b=y+jy[i]; if(a>=0&&a=0&&b=INF) { puts(Poor Inna!); } else printf(%d ,max1/4); return 0; }
bzoj2395[Balkan 2011]Timeismon
題目大意: 要求對a[]單點更新和詢問和. 和的形式:
在說明什麼是友元之前,我們先說明一下為什麼需要友
Problem D Knights in FEN
字符數組和string判斷是否為空行 NULL和0
1. 指針的指針,在符號 * 前再加一個 * ,如下面語句: