1. 程式人生 > >【UVA】201 Squares(模擬)

【UVA】201 Squares(模擬)

ref size || for != %d else eof mark

題目

題目
?


?

分析

記錄一下再預處理一下。
?


?

代碼

#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(模擬)