当前位置:网站首页>POJ 3176-Cow Bowling(DP||记忆化搜索)
POJ 3176-Cow Bowling(DP||记忆化搜索)
2022-07-05 11:22:00 【全栈程序员站长】
Cow Bowling
Time Limit: 1000MS | Memory Limit: 65536K | |
---|---|---|
Total Submissions: 14210 | Accepted: 9432 |
Description
The cows don’t use actual bowling balls when they go bowling. They each take a number (in the range 0..99), though, and line up in a standard bowling-pin-like triangle like this:
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
Then the other cows traverse the triangle starting from its tip and moving “down” to one of the two diagonally adjacent cows until the “bottom” row is reached. The cow’s score is the sum of the numbers of the cows visited along the way. The cow with the highest score wins that frame.
Given a triangle with N (1 <= N <= 350) rows, determine the highest possible sum achievable.
Input
Line 1: A single integer, N
Lines 2..N+1: Line i+1 contains i space-separated integers that represent row i of the triangle.
Output
Line 1: The largest sum achievable using the traversal rules
Sample Input
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
Sample Output
30
数字三角形问题。。能够自底向上坐dp dp[i][j]=ma[i][j]+max(dp[i+1][j],dp[i+1][j+1])
巨水 。。想当初半年前自己懵懵懂懂的刷dp啥都不懂。。哎 真是个悲伤的故事。。
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <string>
#include <cctype>
#include <vector>
#include <cstdio>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <set>
#define ll long long
#define maxn 360
#define pp pair<int,int>
#define INF 0x3f3f3f3f
#define max(x,y) ( ((x) > (y)) ? (x) : (y) )
#define min(x,y) ( ((x) > (y)) ? (y) : (x) )
using namespace std;
int n,dp[maxn][maxn],ma[maxn][maxn];
void solve()
{
for(int i=0;i<n;i++)
dp[n-1][i]=ma[n-1][i];
for(int i=n-2;i>=0;i--)
for(int j=0;j<=i;j++)
dp[i][j]=max(ma[i][j]+dp[i+1][j],ma[i][j]+dp[i+1][j+1]);
printf("%d\n",dp[0][0]);
}
int main()
{
while(~scanf("%d",&n))
{
for(int i=0;i<n;i++)
for(int j=0;j<=i;j++)
scanf("%d",&ma[i][j]);
memset(dp,0,sizeof(dp));
solve();
}
return 0;
}
也能够自顶向下记忆化搜索。。然后状态数组含义都差点儿相同 。。个人觉着搜索比較好写。。。
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <string>
#include <cctype>
#include <vector>
#include <cstdio>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <set>
#define ll long long
#define maxn 360
#define pp pair<int,int>
#define INF 0x3f3f3f3f
#define max(x,y) ( ((x) > (y)) ? (x) : (y) )
#define min(x,y) ( ((x) > (y)) ? (y) : (x) )
using namespace std;
int n,dp[maxn][maxn],ma[maxn][maxn];
int dfs(int x,int y)
{
if(x==n-1)return ma[x][y];
if(dp[x][y]>=0)return dp[x][y];
dp[x][y]=0;
dp[x][y]+=(ma[x][y]+max(dfs(x+1,y),dfs(x+1,y+1)));
return dp[x][y];
}
int main()
{
while(~scanf("%d",&n))
{
for(int i=0;i<n;i++)
for(int j=0;j<=i;j++)
scanf("%d",&ma[i][j]);
memset(dp,-1,sizeof(dp));
printf("%d\n",dfs(0,0));
}
return 0;
}
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/109498.html原文链接:https://javaforall.cn
边栏推荐
- FFmpeg调用avformat_open_input时返回错误 -22(Invalid argument)
- Four departments: from now on to the end of October, carry out the "100 day action" on gas safety
- How can edge computing be combined with the Internet of things?
- Huawei equipment configures channel switching services without interruption
- 一次edu证书站的挖掘
- comsol--三维图形随便画----回转
- [advertising system] parameter server distributed training
- [advertising system] incremental training & feature access / feature elimination
- Basics - rest style development
- 2022 mobile crane driver examination question bank and simulation examination
猜你喜欢
R3live series learning (IV) r2live source code reading (2)
go语言学习笔记-分析第一个程序
NFT 交易市场主要使用 ETH 本位进行交易的局面是如何形成的?
7.2每日学习4
About the use of Vray 5.2 (self research notes)
[advertising system] parameter server distributed training
COMSOL--建立几何模型---二维图形的建立
Stop saying that microservices can solve all problems!
Operation of simulated examination platform of special operation certificate examination question bank for safety production management personnel of hazardous chemical production units in 2022
2022 chemical automation control instrument examination questions and online simulation examination
随机推荐
爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架
7.2每日学习4
Codeforces Round #804 (Div. 2)
7 大主题、9 位技术大咖!龙蜥大讲堂7月硬核直播预告抢先看,明天见
基于OpenHarmony的智能金属探测器
【全网首发】(大表小技巧)有时候 2 小时的 SQL 操作,可能只要 1 分钟
About the use of Vray 5.2 (self research notes) (II)
Harbor镜像仓库搭建
Advanced technology management - what is the physical, mental and mental strength of managers
【Office】Excel中IF函数的8种用法
Modulenotfounderror: no module named 'scratch' ultimate solution
What about SSL certificate errors? Solutions to common SSL certificate errors in browsers
Wechat nucleic acid detection appointment applet system graduation design completion (7) Interim inspection report
基础篇——基础项目解析
String
[Oracle] use DataGrid to connect to Oracle Database
Four departments: from now on to the end of October, carry out the "100 day action" on gas safety
Summary of websites of app stores / APP markets
MFC pet store information management system
Huawei equipment configures channel switching services without interruption