uva 585 - Triangles(暴力枚举)
来源:互联网 发布:成都知言科技有限公司 编辑:程序博客网 时间:2024/05/22 14:49
题目链接:uva 585 - Triangles
题目大意:给出一个倒三角,由若干个小三角形组成,有些三角形为涂上颜色的,问说最大能找出最大的三角形面积。
解题思路:枚举每个没有上色的三角形,向一个方向枚举层数,注意坐标为奇数的只能往下,偶数只能往上。
#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;const int N = 205;int n, ans, v[N][N];void init() {char str[N * 2];ans = 0;memset(v, -1, sizeof(v));for (int i = 0; i < n; i++) {gets(str);int len = strlen(str);for (int j = 0; j < len; j++) {if (str[j] == '-') v[i][j] = 0;}}}void dfs(int x, int y, int d, int dir) {if (x < 0 || x > n) {ans = max(ans, d);return;}for (int i = y - d; i <= y + d; i++) {if (v[x][i] == -1) {ans = max(ans, d);return ;}}dfs(x + dir, y, d + 1, dir);}void solve() {for (int i = 0; i < n; i++) {int t = (n - i) * 2 + i - 1;for (int j = i; j < t; j++) if (v[i][j] == 0) {if ((j + i) % 2)dfs(i, j, 0, 1);else dfs(i, j, 0, -1);}}}int main() {int cas = 1;while(scanf("%d%*c", &n) == 1 && n) {init();solve();printf("Triangle #%d\n", cas++);printf("The largest triangle area is %d.\n\n", ans * ans);}return 0;}
1 0
- uva 585 - Triangles(暴力枚举)
- UVa 585 Triangles(暴力)
- UVA - 585 Triangles 暴力
- UVA 585 - Triangles(枚举)
- UVA585- Triangles(暴力枚举)
- Codeforce 552D Vanya and Triangles(暴力枚举)
- Light OJ:1307 Counting Triangles(二分+暴力枚举)
- Isosceles Right Triangles 坐标暴力枚举
- uva 11464 - Even Parity(暴力枚举)
- UVA 1523 - Helicopter(暴力枚举)
- uva 221 - Urban Elevations(暴力枚举)
- uva 1325 - Hypertransmission(暴力枚举)
- UVA - 725 Division (暴力枚举)
- uva 10167 Birthday Cake(暴力/枚举)
- uva 725 Division(暴力枚举)
- uva 11210 Chinese Mahjong(暴力枚举)
- uva 11464 - Even Parity(暴力枚举)
- UVA - 10125 - Sumsets (暴力枚举 + STL)
- vim基本操作
- 20131223-第十六天
- Java容器类List、ArrayList、Vector及map、HashTable、HashMap分别的区别
- 关于REMOTE_LISTENER
- Android滑动菜单特效实现
- uva 585 - Triangles(暴力枚举)
- Android文本输入框EditText属性和方法说明
- 【小李木耳】言:还有13分钟平安夜,无论多久没见,无论信与不信,祝你平安!
- java简介摘要
- 数据校验函数
- 软件工程实验报告 三
- HIS较少见的表
- vi/vim键盘图解
- Git操作指南(2) —— Git Gui for Windows的建库、克隆(clone)、上传(push)、下载(pull)、合并