poj 3923 模拟
/*
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 模拟的更多相关文章
- POJ 3923 Ugly Windows(——考察思维缜密性的模拟题)
题目链接: http://poj.org/problem?id=3923 题意描述: 输入一个n*m的屏幕 该屏幕内有至少一个对话框(每个对话框都有对应的字母表示) 判断并输出该屏幕内处于最表层的对话 ...
- POJ 1016 模拟字符串
Numbers That Count Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 20396 Accepted: 68 ...
- POJ 1208 模拟
2017-08-28 15:07:16 writer:pprp 好开心,这道题本来在集训的时候做了很长很长时间,但是还是没有做出来,但是这次的话,只花了两个小时就做出来了 好开心,这次采用的是仔细分析 ...
- POJ - 3087 模拟 [kuangbin带你飞]专题一
模拟洗牌的过程,合并两堆拍的方式:使先取s2,再取s1:分离成两堆的方式:下面C张放到s1,上面C张到s2.当前牌型与第一次相同时,说明不能搜索到答案. AC代码 #include<cstdio ...
- Shuffle'm Up POJ - 3087(模拟)
Shuffle'm Up Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15249 Accepted: 6962 Des ...
- poj 1379 模拟退火法
/* 模拟退火法: 找到一些随机点,从这些点出发,随机的方向坐标向外搜索: 最后找到这些随机点的最大值: 坑://if(xx>-eps&&xx<x+eps&& ...
- POJ 1471 模拟?
题意:求最大无坏点三角形 思路: 模拟? (为什么我模拟过了...) 有人用 DP,有人用 搜索... // by SiriusRen #include <cstdio> #include ...
- POJ 1951 模拟
思路: 坑爹模拟毁我一生 给两组数据: 输入: YOURE TRAVELING THROUGH ANOTHER DIMENSION A DIMENSION NOT OF SIGHT. 输出: YR T ...
- POJ 2141 模拟
思路:字符串解密 啥都告诉你了 模拟就好 //By SiriusRen #include <cstdio> #include <cstring> using namespace ...
随机推荐
- 清北考前刷题day4早安
LI /* 没有考虑次大值有大于一个的情况 */ #include<iostream> #include<cstdio> #include<cstring> # ...
- NET 编程题
1.C#编写创建一个线程的代码 using System; using System.IO; using System.Threading ; class MyThread{ public int c ...
- jQuery图片区域选择控件_imgAreaSelect
软考报名时发现可以进行头像区域裁剪功能,F12了一下,发现使用了imgAreaSelect控件. 控件官网: http://odyniec.net/projects/imgareaselect/ 控件 ...
- VMWare虚拟网络编辑
VMWare虚拟网络编辑记录. 点击"编辑->虚拟网络编辑器" 在网卡列表中选择"VMnet8"查看目前设置,点击右下角的更改设置进行网络修改. 备注:更 ...
- CSS之浮动元素
<html> <head> <meta charset="utf-8"> <title></title> <sty ...
- [转]MVC4项目中验证用户登录一个特性就搞定
本文转自:http://www.mrhuo.com/Article/Details/470/A-Attribute-For-MVC4-Project-Used-To-Validate-User-Log ...
- leetcode692 Top K Frequent Words
思路: 堆.实现: #include <bits/stdc++.h> using namespace std; class Solution { public: inline bool c ...
- 理解 CSS 布局和块级格式上下文
前言 BFC 的概念始于 CSS2,是个蛮古老的 CSS 话题了,网上也到处能搜到 BFC 的介绍,但是都不够简洁.本文系翻译自 Rachel Andrew 女士的博文 Understanding C ...
- overflow实现隐藏滚动条同时又可以滚动
.scroll-list ul{ white-space: nowrap; -webkit-overflow-scrolling: touch; overflow-x: auto; overflow- ...
- android开发小内容
EditText弹出输入数字:android:inputType="phone"