UVA 10010 沃尔多夫在哪里
2012-08-17 23:59
435 查看
字符串基础题目
讨厌的scanf
讨厌的scanf
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> using namespace std; /// #define INF 0xffffff7 #define MAXN 60 char grid[MAXN][MAXN]; int m, n, kk; char word[MAXN]; const int rd[]={-1, -1, 0, 1, 1, 1, 0, -1},cd[]={0, 1, 1, 1, 0, -1, -1, -1}; bool search_word(int startrow, int startcol, int len) { int i, j; for (i = 0; i < 8; i++) { j = 0; int temprow = startrow; int tempcol = startcol; while (j < len) { if (temprow < 0 || temprow >= m || tempcol < 0 || temprow >= n) break; if ( (grid[temprow][tempcol] == word[j]) || (grid[temprow][tempcol] - word[j] == 'A' - 'a') || (word[j] - grid[temprow][tempcol] == 'A' - 'a')) { temprow += rd[i]; tempcol += cd[i]; j++; } else break; } if (j == len) return true; } return false; } int main() { /// int i, j; int nCases; scanf("%d", &nCases); // cin >> nCases; while (nCases--) { memset(grid, 0, sizeof(grid)); scanf("%d%d", &m, &n); for (i = 0; i < m; i++) { getchar(); for (j = 0; j < n; j++) scanf("%c", &grid[i][j]); } // cin >> grid[i][j]; scanf("%d", &kk); getchar(); for (i = 0; i < kk; i++) { gets(word); bool flag = false; int len = strlen(word); for (j = 0; j < m; j++) { for (int k = 0; k < n; k++) { if (search_word(j, k, len)) { printf("%d %d\n", j + 1, k + 1); flag = true; break; } } if (flag) break; } } if (nCases != 0) printf("\n"); } /// return 0; }
相关文章推荐
- UVa 10010 沃尔多夫在那里
- uva 10010 我的哪里错了呢。。。
- uva 10010 我的哪里错了呢。。。
- 匹配行UVA 题目10010 - Where's Waldorf?
- UVa 10010 Where's Waldorf?
- UVA - 10010 Where's Waldorf?
- UVa 10010 - Where's Waldorf?
- uva_10010_Where's Waldorf?
- UVa Problem Solution: 10010 - Where's Waldorf
- UVa10010 - Where's Waldorf?
- UVA 10010 - Where's Waldorf?(字符串)
- UVA 10010 Where's Waldorf?
- UVA - 10010 Where's Waldorf?
- ACM-uva10010
- uva 10010 Where's Waldorf?(字符串处理)
- uva10010 - Where's Waldorf?
- uva10010
- uva10010 wa不知道为什么
- UVA 10010 - Where's Waldorf? 水题一道
- UVa Problem 10010 Where’s Waldorf?(寻找单词)