递归求解,代码不太好看,是2013年7月写的

代码:

#include<stdio.h>
#include<iostream>
#include<string.h>
#include<algorithm>
#include<math.h> using namespace std; char s[][];
int flag[];
int res[];
int tag1[]; int zong,heng;
int tag;
int n,m; int zhao(int qix,int qiy,int zhx,int zhy)
{
int fff=;
for(int i=qix;i<zhx;i++)
{
for(int j=qiy;j<zhy;j++)
{
if(s[i][j]=='.')
continue;
flag[s[i][j]-'A']=;
int ny;
for(ny=j;ny<zhy;ny++)
{
if(s[i][ny]!=s[i][j])
break;
}
heng=ny-;
int nx;
for(nx=i;nx<zhx;nx++)
{
if(s[nx][j]!=s[i][j])
break;
}
zong=nx-;
int cnt=;
tag=;
if(zong!=i&&heng!=j&&zong-i>=&&heng-j>=)
{
for(ny=j;ny<=heng;ny++)
{
if(s[zong][ny]==s[i][j])
cnt++;
else
break;
}
if(cnt==heng-j+)
{
cnt=;
for(nx=i;nx<=zong;nx++)
{
if(s[nx][heng]==s[i][j])
cnt++;
else
break;
}
if(cnt==zong-i+)
tag=;
else
tag=;
}
if(tag)
{
tag1[s[i][j]-'A']++;
fff=;
if(zhao(i+,j+,zong,heng)==)
{
if(tag1[s[i][j]-'A']!=)
tag1[s[i][j]-'A']=;
} }
}
else
tag1[s[i][j]]=;
}
}
return fff;
} int main()
{ while(scanf("%d%d",&n,&m)!=EOF)
{
memset(flag,,sizeof(flag));
memset(tag1,,sizeof(tag1));
int i;
if(n==&&m==)
break;
for(i=;i<n;i++)
scanf("%s",s[i]);
zhao(,,n,m); int cn=;
for(i=;i<;i++)
{
if(tag1[i])
res[cn++]=i;
}
sort(res,res+cn);
for(i=;i<cn;i++)
printf("%c",res[i]+'A');
printf("\n");
}
return ;
}

HDU 2487 Ugly Windows的更多相关文章

  1. POJ 3923 HDU 2487 Ugly Windows 简单计算

    Ugly Windows Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tot ...

  2. HDU 2487 Ugly Windows(暴力)(2008 Asia Regional Beijing)

    Description Sheryl works for a software company in the country of Brada. Her job is to develop a Win ...

  3. HDU 2487 Ugly window

    这是切的很痛苦的一道题,自己测试了很多样例却终究不过,中间也做了诸多修改,后来无奈去网上看题解,发现遗漏了一种情况,就是两个窗口可能边框都能看见,但是一个嵌套在另一里面,而我判定是不是 “top wi ...

  4. 【HDOJ】2487 Ugly Windows

    暴力解. #include <cstdio> #include <cstring> #define MAXN 105 char map[MAXN][MAXN]; ]; int ...

  5. HDU 5920 Ugly Problem 【模拟】 (2016中国大学生程序设计竞赛(长春))

    Ugly Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  6. HDU - 5920 Ugly Problem 求解第一个小于n的回文数

    http://acm.hdu.edu.cn/showproblem.php?pid=5920 http://www.cnblogs.com/xudong-bupt/p/4015226.html 把前半 ...

  7. HDU 5920 Ugly Problem

    说起这道题, 真是一把辛酸泪. 题意 将一个正整数 \(n(\le 10^{1000})\) 分解成不超过50个回文数的和. 做法 构造. 队友UHC提出的一种构造方法, 写起来比较方便一些, 而且比 ...

  8. HDU 5920 Ugly Problem 高精度减法大模拟 ---2016CCPC长春区域现场赛

    题目链接 题意:给定一个很大的数,把他们分为数个回文数的和,分的个数不超过50个,输出个数并输出每个数,special judge. 题解:现场赛的时候很快想出来了思路,把这个数从中间分为两部分,当位 ...

  9. Ugly Windows

    poj3923:http://poj.org/problem?id=3923 题意:给出两个整数n.m表示屏幕的长宽.屏幕上有一些窗口,每个窗口都是矩形的,窗口的边框用同一个大写字母来表示,不同的窗口 ...

随机推荐

  1. 【原创】使用.NET Core 1.0创建一个Self-Contained控制台应用

    开发机器:win7-x64 .NET Core版本:1.0.0-preview2-003121 Visual Studio Code:1.2.1 至于什么是Self-Contained应用类型以及与P ...

  2. JavaScript的作用域和闭包

    首发于:https://mingjiezhang.github.io/ 闭包和作用域有着千丝万缕的联系. js的作用域 具体的作用域我就不展开叙述了.其中很重要的两点就是:js的作用域链机制和函数词法 ...

  3. Sharepoint学习笔记—习题系列--70-573习题解析 -(Q77-Q80)

    Question 77You have a SharePoint list named Announcements.You have an event receiver that contains t ...

  4. java多线程系列2-线程控制

    前面的文章已经介绍了有关线程的调度,接下来介绍如何使用方法对线程进行控制 1.线程休眠 public static void sleep(long millis) /* * 线程休眠 * public ...

  5. IOS UILabel 根据内容自适应高度

    iOS Label 自适应高度  适配iOS7以后的版本 更多 self.contentLabelView = [[UILabel alloc] init]; self.contentLabelVie ...

  6. iOS之 APP异常捕获反馈给服务器

    在我们开发的app中, 不可避免的, 有时候用户使用软件会崩溃.  我们就需要捕获异常, 可以在入口类中加入相应的代码, 可以在每次用户打开程序的时候, 检查一下沙盒中是否有崩溃日志, 如果有, 可以 ...

  7. C语言-02-基本运算

    一.算术运算 种类 1> 加(+),同时可以表示正号 2> 减(-),同时可以表示负号 3> 乘(*) 4>除(/) 5>取余(%) 关于类型转换 1>自动类型转换 ...

  8. IOS学习资源收集--关于动画的代码学习资源总汇(很棒的动画效果哦)

    目录大纲: 1.很棒的iOS加载动画. github网址:https://github.com/NghiaTranUIT/FeSpinner 游老师的译文blog:http://www.cnblogs ...

  9. SQL Server智能感知如何更新

    经常用sql server发现一个问题,比如说我刚刚添加个表或者字段,这时候在sqlserver里面写sql语句时,没有智能提示,这个问题我以前一直不是太注意.今天好好找了下解决方法,这里做下分享. ...

  10. animation of android (2)

    android Interpolator 首先是android系统提供的变换方式: 这些方式将转载一篇文章: 转: http://www.cnblogs.com/mengdd/p/3346003.ht ...