bzoj1616

遞推。。。
刷水題有助身心健康。

#include<bits/stdc++.h>
using namespace std;
#define FOR(i,s,t) for(int i=(s);i<=(t);i++)
inline int read(void){
    int x = 0, c, f = 1;
    do{c=getchar();if(c=='-')f=-1;}while(c<'0'||c>'9');
    do{x=x*10+c-'0';c=getchar();}while(c>='0'&&c<='9');
    return x * f;
}
const int N = 105;
char s[N][N];
typedef long long LL;
LL f[N][N][20];
int n, m, T;
int main(){
    n = read(), m = read(), T = read();
    for (int i = 1; i <= n; i++) scanf("%s",&s[i][1]);
    int x = read(), y = read();
    f[x][y][0] = 1;
    for (int i = 1; i <= T; i++)
        for (int j = 1; j <= n; j++) {
            for (int k = 1; k <= m; k++) if (s[j][k] == '.'){
                f[j][k][i] += f[j-1][k][i-1] + f[j + 1][k][i-1] + f[j][k-1][i-1] + f[j][k+1][i-1];
            }
        }
    x = read(), y = read();
    printf("%lld\n",f[x][y][T]);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章