【題目敘述】https://cses.fi/problemset/task/1638/
【解題想法】DP
#include <iostream>
using namespace std;
int n, g[1005][1005], mod = 1e9+7;
char c;
int main() {
cin >> n;
for (int i = 0; i <= n; i++){
g[0][i] = 1;
g[i][0] = 1;
}
for (int i = 1; i <= n; i++){
for (int j = 1; j <= n; j++){
cin >> c;
if (c == '*') g[i][j] = 0;
else if (i == 1){
g[i][j] += g[i][j-1];
g[i][j] %= mod;
}
else if (j == 1){
g[i][j] += g[i-1][j];
g[i][j] %= mod;
}
else {
g[i][j] += g[i-1][j];
g[i][j] %= mod;
g[i][j] += g[i][j-1];
g[i][j] %= mod;
}
}
}
cout << g[n][n];
}