bzoj1616

来源:互联网 发布:中标数据查询360 编辑:程序博客网 时间:2024/06/14 11:15

递推。。。
刷水题有助身心健康。

#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]);}
1 0
原创粉丝点击