HDU1505--City Game(动态规划)(1506加强版)
来源:互联网 发布:html 数组添加元素 编辑:程序博客网 时间:2024/06/04 18:29
这道题和1506差不多,多加了一维,只要求出每个F点上面的F点个数,然后压到一行中,就和1506一样了。
#include <stdio.h>#include <iostream>#include <algorithm>#include <string.h>#include <math.h>#define maxn 1005using namespace std;struct Map{char c[5];int num;int left,right;}map[maxn][maxn];int main(){int t,n,m,i,j;scanf("%d",&t);while(t--){scanf("%d%d",&n,&m);getchar();for(j=1;j<=m;j++)map[0][j].num=0;for(i=1;i<=n;i++){for(j=1;j<=m;j++){scanf("%s",map[i][j].c);if(map[i][j].c[0]=='F')map[i][j].num=map[i-1][j].num+1;elsemap[i][j].num=0;map[i][j].left=map[i][j].right=j;}}int max=0;for(i=1;i<=n;i++){map[i][0].num=map[i][m+1].num=-1;for(j=1;j<=m;j++){while(map[i][j].num<=map[i][map[i][j].left-1].num)map[i][j].left=map[i][map[i][j].left-1].left;}for(j=m;j>=1;j--){while(map[i][j].num<=map[i][map[i][j].right+1].num)map[i][j].right=map[i][map[i][j].right+1].right;}for(j=1;j<=m;j++){if(map[i][j].c[0]=='F'){int sum=(map[i][j].right-map[i][j].left+1)*map[i][j].num;if(sum>max)max=sum;}}}printf("%d\n",max*3);}return 0;}
- HDU1505--City Game(动态规划)(1506加强版)
- hdu1505—City Game(1506的加强版)
- HDU1505 City Game (DP,HDU1506加强版)
- 动态规划、记忆化搜索:HDU1505-City Game(记忆化搜索)
- hdu1505 City Game(DP)
- hdoj-1505-City Game【动态规划】1506的加强版
- hdu1505---City Game(单调栈)
- hdu 1505 city game(1506加强版)dp
- HDU1505——City Game(扫描线)
- hdu1505 City Game(DP or 扫描线?)
- 【DP】 hdu1505 City Game
- HDU1505/POJ1964 City Game
- HDU1505--City Game
- hdu1505 City Game
- hdu1505 City Game
- DP激情奉献(四)hdu1505加强版1506
- HDOJ题目1505 City Game(动态规划)
- HDU1505(HDU1506的加强版)
- LeetCode 之 Binary Tree Preorder Traversal
- java练习3
- 关于互联网思维
- 如何实现JSP页面控件的不可编辑——disabled readonly
- 二叉搜索树的插入,查找,删除
- HDU1505--City Game(动态规划)(1506加强版)
- POJ 用队列对扑克牌排序
- JS权威指南 读书笔记 第一章 JavaScript概述
- 算法解析之八皇后
- ANSI与Unicode字符宏转换
- 设置JavaDoc
- la 4254 Precessor
- c与指针(四) 语句
- DAO设计的一个小例子