SOJ 2800_三角形
来源:互联网 发布:java面向对象选择题 编辑:程序博客网 时间:2024/05/17 01:00
真的是O不是0【看了discuss才发现。。。。。一个大写的蠢
【题意】多个黑白三角形组成的倒三角,求白三角形组成的最大倒三角的面积
【分析】由于问的是倒三角个数,所以只需看与行数奇偶性相同的白色倒三角形,设v[i][j]为以第i行第j列的倒三角为顶点的最大白色倒三角形面积,则v[i][j]可通过v[i-1][j-1]和v[i-1][j+1]构成的白色倒三角面积表示,导出状态转移方程。
【代码】
#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>typedef long long ll;using namespace std;const int INF=0x3fffffff;int a[1100][2500];int v[1100][2500];int temp,Min,Max;int num,flag;int main (void){ scanf("%d",&num); while(num>0) { getchar(); Max=1,flag=0; memset(a,-1,sizeof(a)); memset(v,0,sizeof(v)); for(int i=0;i<num;i++) { for(int j=0;j<2*num-i-1;j++) { if(getchar()=='O') { v[i][j]=1; a[i][j]=0; if((j-i)%2==0) flag=1; } } getchar(); } for(int i=1;i<num;i++) { for(int j=i;j<2*num-i-1;j+=2) { if((a[i][j]==0)&&(a[i-1][j]==0)) { Min=min(v[i-1][j-1],v[i-1][j+1]); temp=(int)(sqrt(Min)+0.5); v[i][j]+=2*Min-(temp-1)*(temp-1)+1; Max=max(v[i][j],Max); } } } if(flag) printf("%d\n",Max); else printf("0\n"); scanf("%d",&num); } return 0;}
0 0
- SOJ 2800_三角形
- soj 2800 三角形(DP)
- SOJ 2930_积木城堡
- soj
- 1013_三角形判断
- 170423_巴斯卡三角形
- SOJ 3137: Simple Computing _容斥原理
- soj:3300_背包装满(完全背包)
- hdu_2039_三角形_解题报告
- 动态规划_数字三角形
- 计蒜_统计三角形
- C++第一次实验_三角形
- 1073_杨辉三角形
- 蓝桥杯_算法训练_数字三角形
- 39_求三角形的面积
- 数组_例题:打印杨辉三角形
- 二重循环_打印倒三角形
- 【OpenJudge】c语言_计算三角形面积
- karaf配置自定义featrues
- Oracle 有关SQL性能优化
- Android开发中无处不在的设计模式——策略模式
- javascript/js 原生动态插入外部js文件及动态插入js代码片段,兼容ie
- Android开发中SharedPreferences存储数据的使用
- SOJ 2800_三角形
- Android插件化开发基础之Java反射机制研究
- 思想汇报(一)——努力的意义
- Oracle建表空间、用户
- Java访问WebRoot目录下文件
- 【java】容器
- wap(html)知识点整理(持续更新)
- Android CheckBox显示错位的解决 && SparseBooleanArray的使用
- yii2 scenarios rules 使用心得