/*
1、判断是否是一个完整边框
2、判断是否长度和宽度小于3
3、判断是否有内部覆盖的现象
*/
#include<stdio.h>
#define N 110
#define inf 0x3fffffff
struct node {
int u,v;
}f[N*N],ee;
char s[N][N];
int n,m;
void judge() {
int minx,i,j,k,e,len,maxx,miny,maxy;
for(e=0;e<26;e++) {
len=0;
for(j=1;j<=n;j++)
for(k=1;k<=m;k++)
if(s[j][k]=='A'+e) {
ee.u=j;
ee.v=k;
f[len++]=ee;
}
if(len==0)continue;
minx=inf;maxx=0;miny=inf;maxy=0;
for(i=0;i<len;i++) {
if(f[i].u>maxx)
maxx=f[i].u;
if(f[i].u<minx)
minx=f[i].u;
if(f[i].v>maxy)
maxy=f[i].v;
if(f[i].v<miny)
miny=f[i].v;
}
if(maxx-minx<2)continue;//长度或者宽度小于三
if(maxy-miny<2)continue;
if(len!=(maxx-minx+maxy-miny)*2)//是否是一个完整边框
continue;
int flag=1;
for(i=minx+1;i<maxx;i++)
for(j=miny+1;j<maxy;j++)
if(s[i][j]!='.')
flag=0;//是否有内部覆盖现象
if(flag)
printf("%c",'A'+e);
}
}
int main() {
int i;
while(scanf("%d%d",&n,&m),n||m) {
for(i=1;i<=n;i++)
scanf("%s",s[i]+1);
judge();
printf("\n");
}
return 0;
}

poj 3923 模拟的更多相关文章

  1. POJ 3923 Ugly Windows(——考察思维缜密性的模拟题)

    题目链接: http://poj.org/problem?id=3923 题意描述: 输入一个n*m的屏幕 该屏幕内有至少一个对话框(每个对话框都有对应的字母表示) 判断并输出该屏幕内处于最表层的对话 ...

  2. POJ 1016 模拟字符串

    Numbers That Count Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20396   Accepted: 68 ...

  3. POJ 1208 模拟

    2017-08-28 15:07:16 writer:pprp 好开心,这道题本来在集训的时候做了很长很长时间,但是还是没有做出来,但是这次的话,只花了两个小时就做出来了 好开心,这次采用的是仔细分析 ...

  4. POJ - 3087 模拟 [kuangbin带你飞]专题一

    模拟洗牌的过程,合并两堆拍的方式:使先取s2,再取s1:分离成两堆的方式:下面C张放到s1,上面C张到s2.当前牌型与第一次相同时,说明不能搜索到答案. AC代码 #include<cstdio ...

  5. Shuffle'm Up POJ - 3087(模拟)

    Shuffle'm Up Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15249   Accepted: 6962 Des ...

  6. poj 1379 模拟退火法

    /* 模拟退火法: 找到一些随机点,从这些点出发,随机的方向坐标向外搜索: 最后找到这些随机点的最大值: 坑://if(xx>-eps&&xx<x+eps&& ...

  7. POJ 1471 模拟?

    题意:求最大无坏点三角形 思路: 模拟? (为什么我模拟过了...) 有人用 DP,有人用 搜索... // by SiriusRen #include <cstdio> #include ...

  8. POJ 1951 模拟

    思路: 坑爹模拟毁我一生 给两组数据: 输入: YOURE TRAVELING THROUGH ANOTHER DIMENSION A DIMENSION NOT OF SIGHT. 输出: YR T ...

  9. POJ 2141 模拟

    思路:字符串解密 啥都告诉你了 模拟就好 //By SiriusRen #include <cstdio> #include <cstring> using namespace ...

随机推荐

  1. 1.2Hello, World!的大小

    描述 还记得在上一章里,我们曾经输出过的“Hello, World!”吗? 它虽然不是本章所涉及的基本数据类型的数据,但我们同样可以用sizeof函数获得它所占用的空间大小. 请编程求出它的大小,看看 ...

  2. httpd 安装ssl证书

    1) 安装ssl模块 # yum install mod_ssl -y Ps:安装完成后,会在/etc/httpd/conf.d/下生成一个ssl.conf配置文件. 2) 先建一个目录用来放ssl证 ...

  3. 转】 Spark SQL UDF使用

    原博文出自于: http://blog.csdn.net/oopsoom/article/details/39401391 感谢! Spark1.1推出了Uer Define Function功能,用 ...

  4. Scala-基础-函数(1)

    import junit.framework.TestCase //函数(1) class Demo5 extends TestCase { def testDemo(){ println(" ...

  5. handlesocket.md

    [介绍](http://www.uml.org.cn/sjjm/201211093.asp ) * 查看启动参数     `service mariadb status > st.txt`   ...

  6. CAD删除组(网页版)

    主要用到函数说明: _DMxDrawX::DeleteGroup 根据组名,删除组.详细说明如下: 参数 说明 BSTR pszName 组名 js代码实现如下: 1 2 3 4 5 6 7 8 9 ...

  7. /etc/updatedb.conf配置文件

    [root@localhost ~]# vi /etc/updatedb.conf PRUNE_BIND_MOUNTS = "yes" PRUNEFS = "9p afs ...

  8. 数字图像处理技术在TWaver可视化中的应用

    数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程.常用的图像处理方法有图像增强.复原.编码.压缩等,数 ...

  9. 比较synchronized和读写锁

    一.科普定义 这篇博文的两个主角“synchronized”和“读写锁” 1)synchronized 这个同步关键字相信大家都用得比较多,在上一篇“多个线程之间共享数据的方式”中也详细列举他的应用, ...

  10. java基础学习日志--String、StringBuffer方法案例

    package StringDemo; import java.util.Arrays; /* * 常用String.StringBufer类的方法 */ public class Demo1 { p ...