zoukankan      html  css  js  c++  java
  • 【UVA】201 Squares(模拟)

    题目

    题目
     


    分析

    记录一下再预处理一下。
     


    代码

    #include <bits/stdc++.h>
    int main()
    {
    	int t=0,s,n;
    	while(scanf("%d",&s)==1)
    	{
    		if(t!=0) printf("
    **********************************
    
    ");
    		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
    
    ",++t);
    		bool flag=true;
    		for(int i=1;i<=s;i++)
    		{
    			if(ans[i]>0)
    			{
    				flag=false;
    				printf("%d square (s) of size %d
    ",ans[i],i);
    			}
    		}
    		if(flag) printf("No completed squares can be found.
    ");
    	}
    	return 0;
    }
    
  • 相关阅读:
    JVM 体系结构
    字符集和编码
    Thinking in Java 笔记
    HSDB
    jdb
    JVM-Class文件
    JVM-操作码助记符
    表、栈和队列
    算法分析
    Shell 编程
  • 原文地址:https://www.cnblogs.com/noblex/p/7881508.html
Copyright © 2011-2022 走看看