【UVA】201 Squares(模拟)
题目
分析
记录一下再预处理一下。
 
代码
#include <bits/stdc++.h>
int main()
{
	int t=0,s,n;
	while(scanf("%d",&s)==1)
	{
		if(t!=0) printf("\n**********************************\n\n");
		int ans[11],H[21][21],V[21][21];
		memset(V,0,sizeof(V));memset(H,0,sizeof(H));memset(ans,0,sizeof(ans));
		scanf("%d",&n);
		for(int k=0;k<n;k++)
		{
			char s1[5];
			int i,j;
			scanf("%s%d%d",s1,&i,&j);
			if(s1[0]=='H') H[i][j]=1;
			else V[j][i]=1;
		}
		for(int k=1;k<=s;k++)
		{
			for(int i=1;i<=s;i++)
			for(int j=1;j<=s;j++)
			{
				int flag=1;
				for(int h=j;h<j+k;h++)
					if(!H[i][h] || !H[i+k][h]) flag=0;
				for(int h=i;h<i+k;h++)
				 	if(!V[h][j] || !V[h][j+k]) flag=0;
				ans[k]+=flag;
			}
		}
		printf("Problem #%d\n\n",++t);
		bool flag=true;
		for(int i=1;i<=s;i++)
		{
			if(ans[i]>0)
			{
				flag=false;
				printf("%d square (s) of size %d\n",ans[i],i);
			}
		}
		if(flag) printf("No completed squares can be found.\n");
	}
	return 0;
}
【UVA】201 Squares(模拟)的更多相关文章
- UVa 201 Squares
		题意: 给出这样一个图,求一共有多少个大小不同或位置不同的正方形. 分析: 这种题一看就有思路,最开始的想法就是枚举正方形的位置,需要二重循环,枚举边长一重循环,判断是否为正方形又需要一重循环,复杂度 ... 
- 【每日一题】Squares UVA - 201 暴力+输出坑 + 读文件模板
		题意 给你n*n的图,让你数正方形 题解:暴力for每个点,对于每个点从它出发顺时针走一个正方形.走完就ans[i]++; 坑:多输了一行******,然后在那里手摸样例,无限debug orz #d ... 
- Squares UVA - 201
		A children's board game consists of a square array of dots that contains lines connecting some of th ... 
- UVA 246 - 10-20-30 (模拟+STL)
		UVA 246 - 10-20-30 题目链接 题意:给52张的扑克堆,先从左往右发7张牌,之后连续不断从左往右发7张牌,假设有牌堆形成了下面3种情况(按顺序推断): 1.头两张+尾一张和为10或20 ... 
- UVa 11988 (数组模拟链表) Broken Keyboard (a.k.a. Beiju Text)
		题意: 模拟一个文本编辑器,可以输入字母数字下划线,如果遇到'['则认为是Home键,如果是']'则认作End键. 问最终屏幕上显示的结果是什么字符串. 分析: 如果在数组用大量的移动字符必然很耗时. ... 
- HDU 1264 Counting Squares(模拟)
		题目链接 Problem Description Your input is a series of rectangles, one per line. Each rectangle is speci ... 
- UVa 1611 (排序 模拟) Crane
		假设数字1~i-1已经全部归位,则第i到第n个数为无序区间. 如果i在无序区间的前半段,那么直接将i换到第i个位置上. 否则先将i换到无序区间的前半段,再将i归位.这样每个数最多操作两次即可归位. # ... 
- UVa 1453 - Squares 旋转卡壳求凸包直径
		旋转卡壳求凸包直径. 参考:http://www.cppblog.com/staryjy/archive/2010/09/25/101412.html #include <cstdio> ... 
- uva 1453 - Squares
		旋转卡壳算法: 直接在这个上面粘的模板 主要用途:用于求凸包的直径.宽度,两个不相交凸包间的最大距离和最小距离··· 这题就是求凸包的直径 #include <cstdio> #inclu ... 
随机推荐
- js获取来源网址
			举例: 1. a.html文件内容如下: <a href="b.html">浏览b.html </a> 2. b.html文件中的内容如下: <bod ... 
- EasyRMS录播管理服务器项目实战:windows上开机自启动NodeJS服务
			本文转自EasyDarwin开源团队成员Penggy的博客:http://www.jianshu.com/p/ef840505ae06 近期在EasyDarwin开源团队开发一款基于EasyDarwi ... 
- BeautifulSoup的安装和使用
			Python用做数据处理还是相当不错的,如果你想要做爬虫,python是很好的选择,它有很多已经写好的类包,只要调用,即可完成很多复杂的功能,此文中所有的功能都是基于BeautifulSoup这个包. ... 
- Java中高级面试题整理
			一.基础知识: 1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList:HashSet,TreeSet): 2)HashMap的底层实现,之后会问Co ... 
- node.js 之爬虫
			1. cheerio 与 request request:模拟客户端行为,对页面进行请求 cheerio:对服务器端返回的页面进行解析: var cheerio = require('cheerio' ... 
- Learning Scrapy(一)
			学习爬虫有一段时间了,从Python的Urllib.Urlllib2到scrapy,当然,scrapy的性能且效率是最高的,自己之前也看过一些资料,在此学习总结下. Scrapy介绍 关于scrapy ... 
- 如何让Beamer的logo放在右上角
			# 位置需要导入包```\usepackage{beamerfoils}\usepackage{tikz}\usepackage{pgf}\MyLogo{%%\includegraphics[heig ... 
- JVM原理二----JAVA虚拟机体系结构
			组成: 指令集,寄存器,栈,无用单元收集(GC),方法区域.JAVA核心 1,指令集:这个不太清楚 2,寄存器:和处理器中的寄存器类似 pc:Java程序计数器. optop:指向*作数栈顶端的指针. ... 
- Intro to DBSCAN
			DBSCAN Density-Based Spatial Clustering of Application with Noise It can discover cluster of arbitra ... 
- BZOJ5059 前鬼后鬼的守护 【堆扩展】*
			BZOJ5059 前鬼后鬼的守护 Description 八云紫的式神八云蓝有一张符卡名为[式神-前鬼后鬼的守护],这张符卡的弹幕为BOSS从两侧向自机发射大玉,大玉后面跟着一些小玉,形成一个&quo ... 
