//UVa 11953 - Battleships #include <stdio.h> using namespace std; int move[4][2] = { { 1, 0 }, { -1, 0 }, { 0, 1 }, { 0, -1 } }; char mat[100][101]; int n; void mark(int i, int j) { mat[i][j] = '-'; for (int k = 0; k < 4; k++) { int a = i + move[k][0]; int b = j + move[k][1]; if (a >= 0 && a < n && b >= 0 && b < n && (mat[a][b] == 'x' || mat[a][b] == '@')) mark(a, b); } } int main() { int cases; scanf("%d\n", &cases); for (int cas = 1; cas <= cases; cas++) { scanf("%d\n", &n); for (int i = 0; i < n; i++) scanf("%s\n", mat[i]); int components = 0; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (mat[i][j] == 'x') { mark(i, j); components++; } printf("Case %d: %d\n", cas, components); } return 0; }
Friday, April 24, 2015
UVa 11953 - Battleships
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment