当前位置:网站首页>POJ 3176 cow bowling (DP | memory search)
POJ 3176 cow bowling (DP | memory search)
2022-07-05 11:28:00 【Full stack programmer webmaster】
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 Number triangle problem .. Able to sit from bottom to top dp dp[i][j]=ma[i][j]+max(dp[i+1][j],dp[i+1][j+1]) Giant water .. Think of my ignorant brush six months ago dp I don't know anything .. Ah What a sad story ..#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;
}It can also be memorized from top to bottom Search for .. Then the meaning of the state array is almost the same .. Personally, I think search is easier to write ...
#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;
}Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/109498.html Link to the original text :https://javaforall.cn
边栏推荐
- Detailed explanation of DDR4 hardware schematic design
- Intelligent metal detector based on openharmony
- Risc-v-qemu-virt in FreeRTOS_ Scheduling opportunity of GCC
- COMSOL -- establishment of 3D graphics
- In the last process before the use of the risk control model, 80% of children's shoes are trampled here
- Solve the grpc connection problem. Dial succeeds with transientfailure
- MFC pet store information management system
- 基于OpenHarmony的智能金属探测器
- 7.2 daily study 4
- [advertising system] incremental training & feature access / feature elimination
猜你喜欢

Wechat nucleic acid detection appointment applet system graduation design completion (7) Interim inspection report

AutoCAD -- mask command, how to use CAD to locally enlarge drawings

IPv6与IPv4的区别 网信办等三部推进IPv6规模部署

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

DDRx寻址原理

DDR4的特性与电气参数

Intelligent metal detector based on openharmony

R3Live系列学习(四)R2Live源码阅读(2)
![[crawler] bugs encountered by wasm](/img/29/6782bda4c149b7b2b334238936e211.png)
[crawler] bugs encountered by wasm
![[crawler] Charles unknown error](/img/82/c36b225d0502f67cd04225f39de145.png)
[crawler] Charles unknown error
随机推荐
爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架
居家办公那些事|社区征文
解决grpc连接问题Dial成功状态为TransientFailure
汉诺塔问题思路的证明
基于OpenHarmony的智能金属探测器
Question and answer 45: application of performance probe monitoring principle node JS probe
Msfconsole command encyclopedia and instructions
阻止浏览器后退操作
[TCP] TCP connection status JSON output on the server
Ffmpeg calls avformat_ open_ Error -22 returned during input (invalid argument)
Repair animation 1K to 8K
Unity Xlua MonoProxy Mono代理类
[first release in the whole network] (tips for big tables) sometimes it takes only 1 minute for 2 hours of SQL operation
Prevent browser backward operation
紫光展锐全球首个5G R17 IoT NTN卫星物联网上星实测完成
R3live series learning (IV) r2live source code reading (2)
Ziguang zhanrui's first 5g R17 IOT NTN satellite in the world has been measured on the Internet of things
【全网首发】(大表小技巧)有时候 2 小时的 SQL 操作,可能只要 1 分钟
Detailed explanation of MATLAB cov function
基于Lucene3.5.0怎样从TokenStream获得Token