当前位置:网站首页>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 5Then 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 5Sample 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
边栏推荐
- 2022 mobile crane driver examination question bank and simulation examination
- Technology sharing | common interface protocol analysis
- I used Kaitian platform to build an urban epidemic prevention policy inquiry system [Kaitian apaas battle]
- Advanced technology management - what is the physical, mental and mental strength of managers
- [there may be no default font]warning: imagettfbbox() [function.imagettfbbox]: invalid font filename
- What about SSL certificate errors? Solutions to common SSL certificate errors in browsers
- 爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架
- Lombok makes ⽤ @data and @builder's pit at the same time. Are you hit?
- Paradigm in database: first paradigm, second paradigm, third paradigm
- C language current savings account management system
猜你喜欢

9、 Disk management
![[JS learning notes 54] BFC mode](/img/47/a07084ef6064589d2eeb6f091753e0.png)
[JS learning notes 54] BFC mode

go语言学习笔记-分析第一个程序

NFT 交易市场主要使用 ETH 本位进行交易的局面是如何形成的?

About the use of Vray 5.2 (self research notes) (II)

购买小间距LED显示屏的三个建议

Oneforall installation and use

matlab cov函数详解

Differences between IPv6 and IPv4 three departments including the office of network information technology promote IPv6 scale deployment

Detailed explanation of DDR4 hardware schematic design
随机推荐
Dspic33ep clock initialization program
Web Security
NFT 交易市场主要使用 ETH 本位进行交易的局面是如何形成的?
COMSOL--三维随便画--扫掠
2022 Pengcheng cup Web
FFmpeg调用avformat_open_input时返回错误 -22(Invalid argument)
Go language learning notes - analyze the first program
AUTOCAD——遮罩命令、如何使用CAD对图纸进行局部放大
【爬虫】charles unknown错误
如何将 DevSecOps 引入企业?
我用开天平台做了一个城市防疫政策查询系统【开天aPaaS大作战】
The art of communication III: Listening between people
How to introduce devsecops into enterprises?
C language current savings account management system
Scaffold development foundation
spark调优(一):从hql转向代码
Beego cross domain problem solution - successful trial
Ddrx addressing principle
[JS learning notes 54] BFC mode
In the last process before the use of the risk control model, 80% of children's shoes are trampled here