hdu 2487 一道水题,ugly windows 写的相当乱
来源:互联网 发布:linux 统计文件夹行数 编辑:程序博客网 时间:2024/05/06 10:01
发现模拟题总是写的很凌乱,想到哪写到哪,写的最后发现有问题打补丁打的乱七八糟,
题目很水,我的方法是扫描到窗口的最上一行记下他的起始位置和结束位置,继续往下扫描,若是完整的窗口,中间每行都是X。。。。。X的形式,最后一行是xxxxx的形式,有个小trick,窗口嵌套要算里面的。
#include <iostream>#include<cstdio>#include <algorithm>using namespace std;char screen[200][200];int N,M;int beg,end,line;int find(char a){ int f1=0; for (int i=0;i<=N;i++) for (int j=0;j<=M;j++) { if(screen[i][j]==a&&f1==0) beg=j,f1=1,line=i; if(screen[i][j]!=a&&f1==1&&j>beg+1) { end=j-1; return 1; } } return 0;}bool judge(char a){ int i; for (i=line+1;i<N;i++) { if(screen[i][beg]==a&&screen[i][end]==a) { if(screen[i][beg+1]==a) { if(i-line<2) return 0; for (int j=beg;j<=end;j++) { if(screen[i][j]!=a) return 0; } return 1; } else for(int j=beg+1;j<end;j++) if(screen[i][j]!='.') return 0; } else return 0; } return 0;} int main(){ //freopen("in.txt","r",stdin); while(scanf("%d%d",&N,&M),N&&M) { for (int i=0;i<N;++i) scanf("%s",screen[i]); for (int i='A';i<='Z';++i) { if(find(i)) if(judge(i)) printf("%c",i); } printf("\n"); } return 0;}
- hdu 2487 一道水题,ugly windows 写的相当乱
- HDU 2487 Ugly Windows
- hdu 2487 Ugly Windows
- HDU 2487 Ugly Windows
- hdu 2487 Ugly Windows
- HDU 2487 Ugly Windows By Assassin
- POJ 3923 & HDU 2487 Ugly Windows(模拟)
- HDU 2487 Ugly window
- 自己写的一道题
- 一道吓人的水题 HDU 1140
- hdu 1004 很水的一道题
- Hdu 的一道水题 排序(hdu 1.3.6)
- HDU Sum Problem (一道神坑的水题)
- Ugly Windows
- 捉鸡的十大算法简单学习,整理的相当乱
- hdu 5402 一道神奇的模拟题
- HDU-5835 一道特别简单的题
- 同事代码写的乱怎么办?
- SQL预处理语句(Prepared Statements)
- [转]linux 输入子系统驱动实例分析--gpio keys
- 用Visio画UML图 类结构图(基本篇)
- C++11中值得关注的几大变化
- 留着
- hdu 2487 一道水题,ugly windows 写的相当乱
- 火星 A+B问题(研究生复试题)
- [转]linux 输入设备驱动程序 事件驱动层 分析
- centOS下yum安装配置samba
- Z变换和反变换
- win 7系统下添加XP启动项方法
- Zend Framework教程-Zend_Helpers-视图助手-常见的视图助手-其它
- winform开发中对App.Config的写和读操作
- fcntl设置FD_CLOEXEC && fcntl(文件描述符操作)