UVA201 - Squares
2015-01-02 22:47
417 查看
这个题比较水吧,控制好输出格式就好了。其他没有坑。
#include<cstdio> #include<cstring> #include<memory.h> typedef struct{ int h,v; }point; int main(){ //freopen("in.txt","r",stdin); int n,m,u=0; while(scanf("%d%d",&n,&m)==2){ if(u) printf("\n**********************************\n\n"); int i,j,k,s,t; point a ; memset(a,0,sizeof(a)); char c; for(i=0;i<m;i++){ getchar(); c=getchar(); scanf("%d%d",&s,&t); if(c=='H') a[s-1][t-1].h=1; if(c=='V') a[t-1][s-1].v=1; } printf("Problem #%d\n\n",++u); int can,out=0; for(k=1;k<n;k++){//边长 int num=0;//printf("%d=====\n",k); for(i=0;i<n-k;i++){//每个点情况 for(j=0;j<n-k;j++){ //printf("i=%d j=%d\n",i,j); can=1; for(s=i,t=j;t<j+k;t++){ if(a[s][t].h==0) can=0; } for(;s<i+k;s++){ if(a[s][t].v==0) can=0; } for(s=i,t=j;s<i+k;s++){ if(a[s][t].v==0) can=0; } for(;t<j+k;t++){ if(a[s][t].h==0) can=0; } if(can) num++; } } if(num) { printf("%d square (s) of size %d\n",num,k); out=1; } } if(out==0) printf("No completed squares can be found.\n"); } return 0; }
相关文章推荐
- UVa-201 Squares
- UVa 201 Squares
- UVa 201 Squares
- UVa201 Squares
- uva 201 - Squares(自己的方法,同学有更好一点点的方法)
- ACM/ICPC World Finals 1990 && UVA 201 Squares(数正方形)
- [UVa 201]Squares 正方形,ACM/ICPC World Finals 1990
- UVa 201 - Squares
- Uva201 Squares
- BFS:UVa201-Squares
- 正方形(squares,UVa201)
- UVA-201 Squares
- UVA 201 Squares(枚举)
- UVA201 Squares
- 算法竞赛入门经典(第2版)习题4-2 正方形 Squares UVa201
- Uva 201 Squares
- UVA 201 Squares
- uva 201 Squares
- UVA201 Squares
- UVa 201 Squares(正方形)