UVa 201 (implement)
来源:互联网 发布:数据库原理 编辑:程序博客网 时间:2024/09/21 09:27
/** 20171109*///#define LOCAL#include <cstdio>#include <algorithm>#include <cstring>using namespace std;int num[10][10][10][10];int ans[10];int n;bool hline(int x,int y,int dx,int dy,int k){ for(int i=0;i<k;i++) if(num[x+i*dx][y+i*dy][x+(i+1)*dx][y+(i+1)*dy]!=1) return false; return true;} void judge(int x,int y,int z){ if(hline(x,y,1,0,z)&& hline(x,y,0,1,z)&& hline(x+z,y,0,1,z)&& hline(x,y+z,1,0,z)) { ans[z]++; }}void print(){ bool flag = false; for(int i=1;i<=n;i++) { if(ans[i]!=0) { flag = true; printf("%d square (s) of size %d\n",ans[i],i); } } if(!flag) printf("No completed squares can be found.\n");}int main(){ #ifdef LOCAL freopen("input.txt","r",stdin); freopen("ans.txt","w",stdout); #endif int cnt = 1; while(scanf("%d",&n)==1) { if(cnt!=1) printf("\n**********************************\n\n"); printf("Problem #%d\n\n",cnt++); memset(num,0,sizeof(num)); memset(ans,0,sizeof(ans)); int m; scanf("%d",&m); while(m--) { char c[5]; int x,y; scanf("%s%d%d",c,&x,&y); if(c[0]=='H') num[x][y][x][y+1] = 1; else num[y][x][y+1][x] = 1; } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { for(int k=1;k<=n-max(i,j);k++) { judge(i,j,k); } } } print(); } return 0;}
阅读全文
0 0
- UVa 201 (implement)
- Uva 133 (implement)
- UVa 213 (implement)
- UVa 1589 (implement)
- UVa 220 (implement)
- Uva 253 (implement)
- UVa 201
- uva-201
- Uva 201
- uva 201
- uva 201
- UVA 201
- UVa 201
- 关于implement
- Delegate implement
- Implement strStr()
- Implement strSrt
- Implement strStr()
- 2017.11.9机房小测-Exgcd+特判/树形DP/模拟
- JAVA | 2
- windows安装mysql5.7
- 十八街区
- C# 解析JSON字符串
- UVa 201 (implement)
- C# 操作超时解决办法
- python中的多继承和多态
- hdu 2200
- 约会网站预测函数
- javascript实现HashTable
- jvm学习记录--05 垃圾收集器分类
- Libre oj #103
- 以知乎、得到APP为例!浅谈知识付费需不需要社交?