当前位置:网站首页>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
边栏推荐
- ZCMU--1390: 队列问题(1)
- A mining of edu certificate station
- R3live series learning (IV) r2live source code reading (2)
- comsol--三维图形随便画----回转
- Go language learning notes - analyze the first program
- 跨境电商是啥意思?主要是做什么的?业务模式有哪些?
- [there may be no default font]warning: imagettfbbox() [function.imagettfbbox]: invalid font filename
- OneForAll安装使用
- Solve the problem of slow access to foreign public static resources
- About the use of Vray 5.2 (self research notes)
猜你喜欢
7.2每日学习4
Three suggestions for purchasing small spacing LED display
Wechat nucleic acid detection appointment applet system graduation design completion (6) opening defense ppt
Advanced technology management - what is the physical, mental and mental strength of managers
7 大主题、9 位技术大咖!龙蜥大讲堂7月硬核直播预告抢先看,明天见
2022 Pengcheng cup Web
Codeforces Round #804 (Div. 2)
修复动漫1K变8K
Wechat nucleic acid detection appointment applet system graduation design completion (8) graduation design thesis template
CDGA|数据治理不得不坚持的六个原则
随机推荐
Detailed explanation of DDR4 hardware schematic design
四部门:从即日起至10月底开展燃气安全“百日行动”
FreeRTOS 中 RISC-V-Qemu-virt_GCC 的调度时机
Zcmu--1390: queue problem (1)
Modulenotfounderror: no module named 'scratch' ultimate solution
【Oracle】使用DataGrip连接Oracle数据库
iframe
一次edu证书站的挖掘
vite//
龙蜥社区第九次运营委员会会议顺利召开
Manage multiple instagram accounts and share anti Association tips
Detailed explanation of MATLAB cov function
Golang application topic - channel
Guys, I tested three threads to write to three MySQL tables at the same time. Each thread writes 100000 pieces of data respectively, using F
爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架
边缘计算如何与物联网结合在一起?
如何将 DevSecOps 引入企业?
R3live series learning (IV) r2live source code reading (2)
Web Components
2022 chemical automation control instrument examination questions and online simulation examination