首页 > 代码库 > hdu 2487 Ugly Windows 模拟
hdu 2487 Ugly Windows 模拟
#include <cstdio>#include <iostream>#include <cstring>#include <vector>using namespace std;char map[110][110];int n,m;#define inf 100000struct node{ int x,y;};vector <node> nn;int main(){ while(1) { int i,j,k; scanf("%d%d",&n,&m); if(n==0) break; getchar(); for(i=1;i<=n;i++) { for(j=1;j<=m;j++) scanf("%c",&map[i][j]); getchar(); } for(k=0;k<26;k++) { nn.clear(); int maxx=0,maxy=0,minx=inf,miny=inf; char x=‘A‘+k; int flag=1; for(i=1;i<=n;i++) for(j=1;j<=m;j++) if(map[i][j]==x) { node tmp; tmp.x=i; tmp.y=j; nn.push_back(tmp); } for(i=0;i<nn.size();i++) { if(nn[i].x>maxx) maxx=nn[i].x; if(nn[i].x<minx) minx=nn[i].x; if(nn[i].y>maxy) maxy=nn[i].y; if(nn[i].y<miny) miny=nn[i].y; } if(maxx<minx+2) continue;//printf("aaa"); if(maxy<miny+2) continue; if(nn.size()!=(maxx-minx+maxy-miny)*2) flag=0; for(i=minx+1;i<maxx;i++) for(j=miny+1;j<maxy;j++) if(isupper(map[i][j])) { flag=0; break; } if(flag) printf("%c",x); } printf("\n"); } return 0;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。