刘汝佳紫书练习题4-2
来源:互联网 发布:解压软件怎么用 编辑:程序博客网 时间:2024/05/22 06:59
对每一个点去遍历以它为右上定点每种大小的正方形是否存在
#include#include#include#includeusing namespace std;const int maxn = 15;struct point{bool h, v;}map[maxn][maxn];int ans[maxn];int n;bool issq(int x, int y, int s){for(int i = 0; i < s; i++){if(!map[x + i][y].v) return 0;if(!map[x][y + i].h) return 0;if(!map[x + i][y + s].v) return 0;if(!map[x + s][y + i].h) return 0;}return 1;}void solve(){for(int i = 1; i < n; i++){for(int j = 1; j < n; j++){int mk = min(n - i, n - j);for(int k = 1; k <= mk; k++){if(issq(i, j, k)) ans[k]++;}}}}int main(){//freopen("input.txt", "r", stdin);int m, kase = 1;while(scanf("%d%d", &n, &m) != EOF){memset(map, 0, sizeof(map));memset(ans, 0, sizeof(ans));for(int i = 0; i < m; i++){char t; int x, y;cin >> t >> x >> y;//cout << t << x << y << endl;if(t == 'H') map[x][y].h = 1;if(t == 'V') map[y][x].v = 1;}solve();if(kase - 1) printf("\n**********************************\n\n");printf("Problem #%d\n\n", kase++);bool text = 0;for(int i = 1; i < n; i++){if(ans[i]) {printf("%d square (s) of size %d\n", ans[i], i);text = 1;}}if(!text) printf("No completed squares can be found.\n");}return 0;}
- 刘汝佳紫书练习题4-2
- 线性表练习题2-4
- 课后练习题2/3/4
- 练习题4
- 练习题(2)
- 练习题2
- 练习题2
- 第四章练习题 4-1,4-2
- c语言练习题 4-2 矩阵运算
- The C Programming Language 练习题2-4
- The C Programming Language 练习题4-2
- tinking java 4练习题
- 线性表练习题4
- C++之练习题4
- Linux练习题4
- linux练习题4
- Linux练习题4
- C语言程序设计练习题4
- Uninstall zone
- 智能设备之火情侦查智能车
- android 拍照并压缩照片
- 反素数
- SVN—SVN服务器搭建和使用
- 刘汝佳紫书练习题4-2
- HDU 5512 2015ACM-ICPC沈阳赛区现场赛D题
- 进程间通信--管道
- Chart.js说明文档 - 00
- Jquery弹出摸态框
- Oracle 11g Data Guard 使用duplicate from active database 创建物理DG
- Android studio 遇到UnsupportedMethodException 问题解决方法
- 天猫首页轮播图实现(附gif图)
- bzoj2563(脑洞题)