#include <cstdio>
#include <cstdlib>
#include <string.h>
#include <algorithm>
using namespace std;
char s[15][15];
int dp[15][15];
int main(){
int n;
scanf("%d", &n);
for (int i = 0; i < n; ++i)
scanf("%s", s[i]);
memset(dp, -1, sizeof(dp));
dp[0][0] = 0;
for (int i = 1; i < n; ++i){
if(dp[i - 1][0] >= 0 && s[i][0] != 'X')
dp[i][0] = dp[i - 1][0] + s[i][0] - '0';
if(dp[0][i - 1] >= 0 && s[0][i] != 'X')
dp[0][i] = dp[0][i - 1] + s[0][i] - '0';
}
for (int i = 1; i < n; ++i)
for (int j = 1; j < n; ++j){
if(s[i][j] == 'X')
continue;
if(dp[i - 1][j] < 0){
if(dp[i][j - 1] < 0)
continue;
dp[i][j] = dp[i][j - 1] + s[i][j] - '0';
}
else if(dp[i][j - 1] < 0)
dp[i][j] = dp[i - 1][j] + s[i][j] - '0';
else
dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + s[i][j] - '0';
}
if(dp[n - 1][n - 1] == -1)
printf("X\n");
else
printf("%d\n", dp[n - 1][n - 1] - 'B' + '0');
}
2015年4月10日 星期五
TIOJ 1196 小豬Piggy
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言