当前位置:网站首页>Digital triangle model acwing 1027 Grid access
Digital triangle model acwing 1027 Grid access
2022-07-07 08:51:00 【T_ Y_ F666】
Digital triangle model AcWing 1027. Take the number of squares
Original link
AcWing 1027. Take the number of squares
Algorithm tags
DP linear DP
Ideas
Wrong thinking : Go twice
Since there may be multiple solutions with the first time of travel , You can only choose one of them . But the first place you walk will be reset to 0, It is impossible to determine whether the value of the second time will be greater than the answer you have obtained when the first time is also the optimal solution and is not selected by you
Code
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>=b;--i)
using namespace std;
const int N = 105;
int f[2*N][N][N], a[N][N];
int aa, b, c, d;
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n=read();
while(aa=read(), b=read(), c=read(), aa||b||c){
a[aa][b]=c;
}
// Sum of row and column values The row determines the column
rep(k, 2, n+n+1){
// First time i That's ok
rep(i1, 1, n+1){
// Second time i That's ok
rep(i2, 1, n+1){
// j1 It means the first time j Column j2 It means the second time j Column
int j1=k-i1, j2=k-i2;
if(j1>=1&&j1<=n&&j2>=1&&j2<=n){
int t=a[i1][j1];
// Not the same path
if(i1-i2){
t+=a[i2][j2];
}
// Next Lower right The lower right Right, right
f[k][i1][i2]=max({f[k][i1][i2], f[k-1][i1-1][i2-1]+t, f[k-1][i1-1][i2]+t, f[k-1][i1][i2-1]+t, f[k-1][i1][i2]+t});
}
}
}
}
printf("%lld", f[2*n][n][n]);
return 0;
}
Originality is not easy.
Reprint please indicate the source
If it helps you Don't forget to praise and support
边栏推荐
- uniapp 微信小程序监测网络
- Golan idea IntelliJ cannot input Chinese characters
- AVL balanced binary search tree
- 详解华为应用市场2022年逐步减少32位包体上架应用和策略
- Greenplum 6.x common statements
- NCS Chengdu Xindian interview experience
- MySQL主从延迟的解决方案
- [MySQL] detailed explanation of trigger content of database advanced
- Data analysis methodology and previous experience summary 2 [notes dry goods]
- How to integrate app linking services in harmonyos applications
猜你喜欢
随机推荐
平台化,强链补链的一个支点
Greenplum6.x监控软件搭建
What is the method of manual wiring in PCB design in 22protel DXP_ Chengdu electromechanical Development Undertaking
Go write a program that runs within a certain period of time
[Yugong series] February 2022 U3D full stack class 005 unity engine view
Three usage scenarios of annotation @configurationproperties
Componentspace2022, assertions, protocols, bindings, and configuration files
阿里p8推荐,测试覆盖率工具—Jacoco,实用性极佳
[wechat applet: cache operation]
Required String parameter ‘XXX‘ is not present
Rapid integration of authentication services - harmonyos platform
南京商品房买卖启用电子合同,君子签助力房屋交易在线网签备案
POJ - 3616 Milking Time(DP+LIS)
Greenplum6.x-版本变化记录-常用手册
使用AGC重签名服务前后渠道号信息异常分析
[南京大学]-[软件分析]课程学习笔记(一)-introduction
Input and output of floating point data (C language)
Greenplum6.x常用语句
Leetcode 1984. Minimum difference in student scores
测试踩坑 - 当已有接口(或数据库表中)新增字段时,都需要注意哪些测试点?