码迷,mamicode.com
首页 > 其他好文 > 详细

刷题记录--UVa201 Squares

时间:2020-02-11 12:00:00      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:define   space   inpu   using   for   cstring   com   搜索   记录   

  这道题做了一个多小时,又调了一个多小时,提交了好几次,终于ac,可见刚刚入坑一个月的自己代码水平之低下。

  主要问题有两个,一个是把V和H搞反,半天也没看出来问题,另一个是输出的格式问题,这也导致我wa了好几次。

  下面是AC的码

#include<cstdio>
//#define LOCAL
#include<cstring>
#include<iostream>
using namespace std;

int H[12][12],V[12][12];

void input(int m){
    char ch;
    int a,b;
    for(int i=0;i<m;i++){
        cin>>ch>>a>>b;
        if(ch==H)V[a-1][b-1]=1;
        if(ch==V)H[b-1][a-1]=1;
    }
}

bool check(int x,int j,int k){
    for(int a=0;a<x;a++){
        if(!H[j+a][k]||!H[j+a][k+x])return false;
        if(!V[j][k+a]||!V[j+x][k+a])return false;
    }
    return true;    
}

int main(){
#ifdef LOCAL
freopen("input.txt","r",stdin);
#endif
    int m,n,kase=0,cnt=0,none=1,first=1;
    while(scanf("%d%d",&n,&m)==2){
        if(first)first=0;
        else printf("\n**********************************\n\n");
        printf("Problem #%d\n\n",++kase);
        memset(H,0,sizeof(H));
        memset(V,0,sizeof(V));
        input(m);
        //debug
//        cout<<"**debug**"<<endl;
//        for(int i=0;i<12;i++){
//            for(int j=0;j<12;j++){
//                printf("%d ",V[i][j]);
//            }
//            cout<<endl;
//        }
//        cout<<"**debug**"<<endl;
        //debug
        for(int i=1;i<=n-1;i++){        //i代表size 
            cnt=0;
            for(int j=0;j<12;j++){      //我在V上搜索,从第一行到最后,j是行数 
                for(int k=0;k<12;k++){  //k是列数 
                    if(check(i,j,k))cnt++;
                    //debug
//        cout<<"**debug**"<<endl;
//        cout<<cnt<<endl;
//        cout<<"**debug**"<<endl;
                    //debug
                }
            }
            if(cnt){
                printf("%d square (s) of size %d\n",cnt,i);
                none=0;
            }
        }
        if(none)printf("No completed squares can be found.\n");
        none =1;
    }
    return 0;
}

 

刷题记录--UVa201 Squares

标签:define   space   inpu   using   for   cstring   com   搜索   记录   

原文地址:https://www.cnblogs.com/hardworkingshow/p/12294087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!