HDU 2487 Ugly Windows
递归求解,代码不太好看,是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的更多相关文章
- POJ 3923 HDU 2487 Ugly Windows 简单计算
Ugly Windows Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- 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 ...
- HDU 2487 Ugly window
这是切的很痛苦的一道题,自己测试了很多样例却终究不过,中间也做了诸多修改,后来无奈去网上看题解,发现遗漏了一种情况,就是两个窗口可能边框都能看见,但是一个嵌套在另一里面,而我判定是不是 “top wi ...
- 【HDOJ】2487 Ugly Windows
暴力解. #include <cstdio> #include <cstring> #define MAXN 105 char map[MAXN][MAXN]; ]; int ...
- HDU 5920 Ugly Problem 【模拟】 (2016中国大学生程序设计竞赛(长春))
Ugly Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tota ...
- HDU - 5920 Ugly Problem 求解第一个小于n的回文数
http://acm.hdu.edu.cn/showproblem.php?pid=5920 http://www.cnblogs.com/xudong-bupt/p/4015226.html 把前半 ...
- HDU 5920 Ugly Problem
说起这道题, 真是一把辛酸泪. 题意 将一个正整数 \(n(\le 10^{1000})\) 分解成不超过50个回文数的和. 做法 构造. 队友UHC提出的一种构造方法, 写起来比较方便一些, 而且比 ...
- HDU 5920 Ugly Problem 高精度减法大模拟 ---2016CCPC长春区域现场赛
题目链接 题意:给定一个很大的数,把他们分为数个回文数的和,分的个数不超过50个,输出个数并输出每个数,special judge. 题解:现场赛的时候很快想出来了思路,把这个数从中间分为两部分,当位 ...
- Ugly Windows
poj3923:http://poj.org/problem?id=3923 题意:给出两个整数n.m表示屏幕的长宽.屏幕上有一些窗口,每个窗口都是矩形的,窗口的边框用同一个大写字母来表示,不同的窗口 ...
随机推荐
- 微信jssdk,实现多图上传的一点心得
一.首先在common.js里封装一个函数,在需要调用jsSDK的页面引用此方法即可实现微信的信息配置function signatureJSSDK() { var url = window.loca ...
- android sdk无法更新或者更新缓慢的解决方案
win7安装android sdk老出 Fetching https://dl-ssl.google.com/android/repository/addon .这是android sdk不能连接到谷 ...
- Git学习 --> 个人常用命令add,commit以及push
Git命令行配置1 安装Github2 安装msysgit3 要配置用户名和油箱 git config --global user.name <用户名> 我的命令就是:git confi ...
- IOS之UI--小实例项目--添加商品和商品名(使用xib文件终结版) + xib相关知识点总结
添加商品和商品名小项目(使用xib文件终结版) 小贴士:博文末尾有项目源码在百度云备份的下载链接. xib相关知识点总结 01-基本使用 一开始使用xib的时候,如果要使用自定义view的代码,就需要 ...
- linux下安装mysql手记
安装mysql 下载mysql-standard-4.1.8-pc-linux-i686.tar.gz文件到目录/usr/local/下 # groupadd mysql //添加mysql用户组 ...
- android 进程/线程管理(四)----消息机制的思考(自定义消息机制)
关于android消息机制 已经写了3篇文章了,想要结束这个系列,总觉得少了点什么? 于是我就在想,android为什么要这个设计消息机制,使用消息机制是现在操作系统基本都会有的特点. 可是andro ...
- 敏捷软件开发:原则、模式与实践——第14章 使用UML
第14章 使用UML 在探索UML的细节之前,我们应该先讲讲何时以及为何使用它.UML的误用和滥用已经对软件项目造成了太多的危害. 14.1 为什么建模 建模就是为了弄清楚某些东西是否可行.当模型比要 ...
- Android Design Support Library——Snackbar
Snackbar是一个轻量级控件,它可以很方便的提供消息的提示和动作反馈,类似于Toast.Snackbar包括一段文字信息与一个可选的操作按钮,超时自动隐藏,也可以通过滑动来删除.效果如下所示: S ...
- saltstack通过salt.client执行命令(转)
利用saltstack的salt.client模块可以在python的命令行下或者python脚本里执行相应的salt命令 master端想要执行类似 salt '*' cmd.run 'uptime ...
- Java小方法
/** * 计算百分比. * @param dividend 被除数 * @param divisor 除数 * @return 结果 */ private String getPercent(lon ...