当前位置:网站首页>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
边栏推荐
- 技术管理进阶——什么是管理者之体力、脑力、心力
- Four departments: from now on to the end of October, carry out the "100 day action" on gas safety
- 7.2 daily study 4
- Basics - rest style development
- How to introduce devsecops into enterprises?
- Go language learning notes - analyze the first program
- Array
- Lombok 同时使⽤@Data和@Builder 的坑,你中招没?
- Technology sharing | common interface protocol analysis
- Wechat nucleic acid detection appointment applet system graduation design completion (7) Interim inspection report
猜你喜欢

Three paradigms of database

2022 mobile crane driver examination question bank and simulation examination
![[JS] extract the scores in the string, calculate the average score after summarizing, compare with each score, and output](/img/96/b8585205b3faf503686c5bbdcecc53.png)
[JS] extract the scores in the string, calculate the average score after summarizing, compare with each score, and output

Advanced technology management - what is the physical, mental and mental strength of managers

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

不要再说微服务可以解决一切问题了!

Wechat nucleic acid detection appointment applet system graduation design completion (6) opening defense ppt

无密码身份验证如何保障用户隐私安全?

OneForAll安装使用

Pytorch training process was interrupted
随机推荐
I used Kaitian platform to build an urban epidemic prevention policy inquiry system [Kaitian apaas battle]
Risc-v-qemu-virt in FreeRTOS_ Scheduling opportunity of GCC
DOM//
Ffmpeg calls avformat_ open_ Error -22 returned during input (invalid argument)
【Office】Excel中IF函数的8种用法
DDR4的特性与电气参数
Advanced technology management - what is the physical, mental and mental strength of managers
About the use of Vray 5.2 (self research notes) (II)
matlab cov函数详解
pytorch训练进程被中断了
购买小间距LED显示屏的三个建议
Bracket matching problem (STL)
如何将 DevSecOps 引入企业?
Detailed explanation of MATLAB cov function
Repair animation 1K to 8K
7.2 daily study 4
[advertising system] incremental training & feature access / feature elimination
边缘计算如何与物联网结合在一起?
跨境电商是啥意思?主要是做什么的?业务模式有哪些?
Stop saying that microservices can solve all problems!