博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA10010 - Where's Waldorf?
阅读量:4534 次
发布时间:2019-06-08

本文共 6598 字,大约阅读时间需要 21 分钟。

题目

就是从每个字符的8个方向循环找是否有跟给出的字符串相等的 找的时候稍微限制一些条件即可 代码有点长

View Code
1 #include
2 #include
3 int main() 4 { 5 int t, n, m, k, y, i, j,f,x,w,v,flag,g,o; 6 char c[55][55],str[55]; 7 scanf("%d", &t); 8 while(t--) 9 { 10 scanf("%d%d%*c", &n, &m); 11 for(i = 1 ; i <= n ; i++) 12 { 13 for(j = 1 ; j <= m ; j++) 14 scanf("%c", &c[i][j]); 15 getchar(); 16 } 17 scanf("%d", &o); 18 getchar(); 19 while(o--) 20 { 21 gets(str); 22 k = strlen(str); 23 for(i = 1 ; i <= n ; i++) 24 { 25 for(j = 1 ; j <= m ; j++) 26 { 27 w = i; 28 v = j; 29 flag = 0; 30 if(j>=k) 31 { 32 flag = 1; 33 y = j; 34 for(g = 0; g < k ; g++) 35 { 36 if(str[g] != c[i][y]&&(str[g]-c[i][y]!=32&&str[g]-c[i][y]!=-32)) 37 { 38 flag = 0; 39 break; 40 } 41 y--; 42 } 43 } 44 45 if(flag == 1) 46 break; 47 if((j+k-1)<=m) 48 { 49 flag = 1; 50 y = j; 51 for(g = 0; g < k ; g++) 52 { 53 if(str[g] != c[i][y]&&(str[g]-c[i][y]!=32&&str[g]-c[i][y]!=-32)) 54 { 55 flag = 0; 56 break; 57 } 58 y++; 59 } 60 } 61 if(flag == 1) 62 break; 63 64 if(i>=k) 65 { 66 flag = 1; 67 y = i; 68 for(g = 0; g < k ; g++) 69 { 70 if(str[g] != c[y][j]&&(str[g]-c[y][j]!=32&&str[g]-c[y][j]!=-32)) 71 { 72 flag = 0; 73 break; 74 } 75 y--; 76 } 77 } 78 if(flag == 1) 79 break; 80 81 if(i+k-1<=n) 82 { 83 84 flag = 1; 85 y = i; 86 for(g = 0; g < k ; g++) 87 { 88 if(str[g] != c[y][j]&&(str[g]-c[y][j]!=32&&str[g]-c[y][j]!=-32)) 89 { 90 flag = 0; 91 break; 92 } 93 y++; 94 } 95 } 96 if(flag == 1) 97 break; 98 99 if(j>=k&&i>=k)100 {101 flag = 1;102 f = i;103 x = j;104 for(g = 0 ; g < k ; g++)105 {106 if(str[g] != c[f][x]&&(str[g]-c[f][x]!=32&&str[g]-c[f][x]!=-32))107 {108 flag = 0;109 break;110 }111 f--;112 x--;113 }114 }115 if(flag == 1)116 break;117 118 if(j+k-1<=m&&i>=k)119 {flag = 1;120 f = i;121 x = j;122 for(g = 0 ; g < k ; g++)123 {124 if(str[g] != c[f][x]&&(str[g]-c[f][x]!=32&&str[g]-c[f][x]!=-32))125 {126 flag = 0;127 break;128 }129 f--;130 x++;131 }132 }133 if(flag == 1)134 break;135 136 if(j<=k&&i+k-1<=n)137 {flag = 1;138 f = i;139 x = j;140 for(g = 0 ; g < k ; g++)141 {142 if(str[g] != c[f][x]&&(str[g]-c[f][x]!=32&&str[g]-c[f][x]!=-32))143 {144 flag = 0;145 break;146 }147 f++;148 x--;149 }150 }151 if(flag == 1)152 break;153 154 if(j+k-1<=m&&i+k-1<=n)155 {flag = 1;156 f = i;157 x = j;158 for(g = 0 ; g < k ; g++)159 {160 161 if(str[g] != c[f][x]&&(str[g]-c[f][x]!=32&&str[g]-c[f][x]!=-32))162 {163 flag = 0;164 break;165 }166 f++;167 x++;168 }169 }170 if(flag == 1)171 break;172 }173 if(flag == 1)174 break;175 }176 177 printf("%d %d\n",w,v); 178 }179 if(t!=0)180 puts("");181 }182 return 0;183 }

 

转载于:https://www.cnblogs.com/shangyu/archive/2012/05/26/2519114.html

你可能感兴趣的文章
绕过阿里云防火墙继续扫描探测和SQL注入
查看>>
ln 软链接与硬链接
查看>>
JQuery ajax请求一直返回Error(parsererror)
查看>>
利用POI 技术动态替换word模板内容
查看>>
LeetCode No.168
查看>>
纪录jmeter loop controller 使用中的一个坑
查看>>
spring读取配置文件,且获取bean实例
查看>>
Xcode7 免证书真机测试
查看>>
史上最简单MySQL教程详解(基础篇)之数据类型
查看>>
802.11 帧封装细节
查看>>
WPF中Style文件的引用——使用xaml代码或者C#代码动态加载
查看>>
C#最佳工具集合:IDE、分析、自动化工具等
查看>>
把数字数值转换成单词形式
查看>>
Swift游戏实战-跑酷熊猫 14 熊猫打滚
查看>>
pdfjs预览pdf文件的两种方式(可复制)
查看>>
hdu1042N!
查看>>
Coder-Strike 2014 - Round 1(A~E)
查看>>
【BZOJ2739】—最远点(决策单调性+分治)
查看>>
shell 流程控制
查看>>
MVC学习-发送请求
查看>>