递归求解,代码不太好看,是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. svn 大全

    环境:Win7 32 bit SVN简介:程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subversion是一 ...

  2. 数据库设计==>>MySchool

    1.数据库设计的步骤 第一步:需求分析(收集信息) 第二步:绘制 E-R 图 (标示实体 ,找到实体的属性 第三步:将 E-R 图转换成数据库模型图 第四步:将数据库模型图转换成数据表 2.如何绘制 ...

  3. winform(ListView及数据库连接)

    一.ListView:列表展示数据1.视图 - 在其右上方小箭头点击将视图改为Largelcon:或右键属性在外观View将其改为Details2.设置列头 - 在其右上方小箭头点击选择编辑列,然后添 ...

  4. uml入门之14图与图之间的关系

    1.先奉上整理的14图. 2.其次奉上整理的图之间的6种关系

  5. CSS中background背景色的作用范围

    在div中设置背景色:当border宽度很大时就要考虑一个问题,那就是背景的作用范围,是包括边框呢?还是不包括呢?很明显,又到浏览器产生分歧的时候了. 在IE中背景色的作用范围为:content+pa ...

  6. SQL 语句日期用法及函数

    SQL 语句日期用法及函数 --DAY().MONTH().YEAR()——返回指定日期的天数.月数.年数:select day(cl_s_time) as '日' from class  --返回天 ...

  7. CRM Home Grid StyleSet

    用户进行到记录列表后,虽然可以通过视图来区分不同条件的记录但是不能重点突出记录的重要性.我们根据客户的需求特别定制了如下解决方案,比如根据记录的状态,字段值 在列表面上把行的背景显示成不同的着色来突出 ...

  8. UIAlertController弹出提示框

    #import "RootViewController.h" #import "RootView.h" #define kColor arc4random() ...

  9. iOS-多线程--(pthread/NSThread/GCD/NSOperation)--总结

    零.线程的注意点(掌握) .不要同时开太多的线程(~3条线程即可,不要超过5条) .线程概念 > 主线程 : UI线程,显示.刷新UI界面,处理UI控件的事件 > 子线程 : 后台线程,异 ...

  10. C语言-05-内存分析

    一.进制 1> 内存细节 根据数据类型分配相应大小的内存空间 内存空间由高地址向低地址分配 数据一般按照从高位到低位存储 2> 常用的进制格式 十进制 ① 由0~9十个数字组成 ② 逢10 ...