Sqaures, ACM/ICPC World Finals 1990, UVa
来源:互联网 发布:淘宝经常退款会怎么样 编辑:程序博客网 时间:2024/04/26 11:43
题目:有n行n列的小黑点,还有m条线段连接其中的一些小黑点。统计这些线段连成了多少个正方形(每种边长分别统计)。
这道题关于H V下标书上的叙述有点小问题,具体见下
(来源官网)
1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#define max 10 //数组里的0 0都不用bool H[max][max];bool V[max][max];int n,m,num[max];bool besqr(int i,int j,int size){ //判断以i行j列为左上端点的size大小的正方形是否成立for(int k=0;k<size;k++) if(!H[i][j++]) return 0;for(int k=0;k<size;k++) if(!V[j][i++]) return 0;j--;for(int k=0;k<size;k++) if(!H[i][j--]) return 0;j++;i--;for(int k=0;k<size;k++) if(!V[j][i--]) return 0;return 1;}void cal(int x){ //计算个数if(x==n) return;for(int i=1;i<=n-x;i++)for(int j=1;j<=n-x;j++)if(besqr(i,j,x)) num[x]++;cal(x+1);}int main(){int times=1;while(scanf("%d%d",&n,&m)==2){memset(H,0,sizeof(H));memset(V,0,sizeof(V));memset(num,0,sizeof(num));for(int i=0;i<m;i++){getchar();char type;int a,b;scanf("%c%d%d",&type,&a,&b);if(type=='H') H[a][b]=1;else V[a][b]=1;}cal(1);if(times!=1) printf("\n**********************************\n\n");printf("Problem #%d\n\n",times++);bool none=1;for(int i=1;i<n;i++)if(num[i]){printf("%d square (s) of size %d\n",num[i],i);none=0;}if(none) printf("No completed squares can be found.\n");}return 0;}
阅读全文
0 0
- Sqaures, ACM/ICPC World Finals 1990, UVa
- Message dicoding, ACM/ICPC World Finals 1991, UVa 213
- ACM-ICPC World Finals 2017
- Repeating Decimals, ACM/ICPC World Finals 1990, UVa202
- Repeating Decimals,ACM/ICPC World Finals 1990,UVa202
- 循环小数(Repeating Decimals, ACM/ICPC World Finals 1990, UVa202)
- ACM-ICPC 2013 World Finals 简单题解
- Puzzle, ACM/ICPC World Finals 1993, UVa227
- ACM/ICPC World Finals 2013 D Factors
- ACM/ICPC World Finals 2010 D Castles
- Puzzle,ACM/ICPC World Finals 1993,UVa227
- Gym 101205 (ACM-ICPC World Finals 2012)
- Puzzle,ACM/ICPC World Finals 1993, UVa227
- Abbott的复仇(Abbott's Revenge, ACM/ICPC World Finals 2000, UVa 816)<经典BFS>
- 信息解码(Message Decoding, ACM/ICPC World Finals 1991, UVa 213)
- 纵横字谜的答案(Crossword Answer,ACM/ICPC WOrld Finals 1994, UVa 232)
- 例题6-19 自组合(Self-Assembly, ACM/ICPC World Finals 2013, UVa 1572)
- 习题3-8 循环小数(Repeating Decimals, ACM/ICPC World Finals 1990, UVa202)
- myeclipse上的项目连接数据库
- python 命名元组(namedtuple)
- 文章索引~C#
- 吴恩达深度学习课程deeplearning.ai课程作业:Class 1 Week 4 assignment4_2
- final修饰符
- Sqaures, ACM/ICPC World Finals 1990, UVa
- 菜鸟之C语言初涉(初学编程之总结系列之二)
- 动态sql
- MATLAB 路径设置
- 大整数加法
- QML WebEngineView简单用法和常用接口
- Amazon Rekognition
- 暗光增强
- Linux云服务器初学之二 ——熟悉linux的秘钥工具