首页 > 其他分享 >P1004 [NOIP2000 提高组] 方格取数

P1004 [NOIP2000 提高组] 方格取数

时间:2024-10-19 10:47:51浏览次数:1  
标签:NOIP2000 int P1004 long 取数 && include define

要走两次因此,考虑一个四维的数组来实现,然后如果i=k&&j==l的话记得减一次即得到答案。

点击查看代码
#include <iostream>
#include <stack>
#include <cmath>
#include <algorithm>
#include <set>
#include <vector>
#include <climits>
#include <string.h>
#include <map>
#include <queue>
#include <list>
#include <cmath>
#include <iomanip> 
#define int long long 
#define ios ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define lc u<<1
#define rc u<<1|1
#define gcd __gcd
#define double long double
#define endl "\n"
#define INF LLONG_MAX
#define mod  1000000007
#define N 15
const double PI = 3.14159265358979323846;
using namespace std;
int dp[N][N][N][N], a[N][N],n;//dp[1][j][k][l]表示第一次和第二次的最优解
signed main()
{
    ios;
    cin >> n;
    while (1)
    {
        int x, y,z; cin >> x >> y>>z;
        if (x == 0 && y == 0&&z==0)break;
        a[x][y] = z;
    }
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= n; j++)
        {
            for (int k = 1; k <= n; k++)
            {
                for (int l = 1; l <= n; l++)
                {
                    dp[i][j][k][l] = max({ dp[i - 1][j][k - 1][l],dp[i][j - 1][k][l - 1],dp[i][j - 1][k - 1][l],dp[i - 1][j][k][l - 1] }) + a[i][j] + a[k][l];
                    if (i == k && j == l)dp[i][j][k][l] -= a[i][j];
                }
            }
        }
    }
    cout << dp[n][n][n][n] << endl;
    return 0;
}

标签:NOIP2000,int,P1004,long,取数,&&,include,define
From: https://www.cnblogs.com/youyong1/p/18475611

相关文章

  • Python爬虫:获取数据的入门详解
    在互联网时代,数据已成为最宝贵的资源之一。Python,作为一种功能强大且易于学习的编程语言,成为了数据获取和处理的理想工具。Python爬虫,特别是,允许我们从网页中自动提取大量数据,为数据分析、机器学习、研究和开发等多种应用提供了原材料。本文将为您提供一个Python爬虫的入门详解......
  • <<迷雾>> 第11章 全自动加法计算机(6)--一只开关取数 示例电路
    用一只开关依次将数取出info::操作说明刚启动时,t0=1,t1=t2=0,此时只有IAR`=1.按下开关K不要松开,地址寄存器AR收到一个上升沿信号,保存住当前地址,并提供给存储器(注:第一个地址为0,所以电路中暂看不出什么变化)松开开关K,循环移位计数器RR得到......
  • datatables使用ajax获取数据
    前端://初始化datatablevartable3=$('.jiaoshi_lst').DataTable({"processing":true,"serverSide":true,"paging":true,"ordering":false,"searching":false......
  • Pandas DataFrame对象df 读取数据
    你的df是一个PandasDataFrame对象,类似于一个表格结构的数据,通常有行和列。根据你的描述,表格中有多列数据,例如TS_CODE,DATE,TIME,OPEN等,总共有33列。要显示df中某个特定项目的值,例如“股票的当前价格”,你可以按照以下方式来操作。假设df里有一列CURRENT_PRICE表......
  • 信息学奥赛复赛复习11-CSP-J2020-04方格取数-动态规划、斐波那契数列、最优子结构、重
    PDF文档公众号回复关键字:202410041P7074[CSP-J2020]方格取数[题目描述]设有n×m的方格图,每个方格中都有一个整数。现有一只小熊,想从图的左上角走到右下角,每一步只能向上、向下或向右走一格,并且不能重复经过已经走过的方格,也不能走出边界。小熊会取走所有经过的方格中......
  • 在Android开发中获取数据的方法有哪些?
    目录1.从SharedPreferences获取数据2.从数据库(SQLite)获取数据3.从文件中读取数据4.从网络请求获取数据(使用HttpURLConnection或OkHttp)5.从内容提供者(ContentProvider)获取数据6.从Intent获取数据7.从Bundle获取数据8.从传感器获取数据9.......
  • Acwing 1027.方格取数
    题目链接算法1(数字三角性模型)这道题是摘花生题目的延申摘花生:走一条路这道题与摘花生题的区别在于走的路数,该题走两条路,而且是两条路同时走的思想。那么按照摘花生的题的思路,能否两条路各自取最大值呢?答案是不行。因为第一次摘花生,第一次的最优解已经影响到第二次的最......
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 word文件并提取数据区
    PageOffice国产版:支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)、龙芯(LoogArch)芯片架构。查看本示例演示效果本示例关键代码的编写位置Vue+Springboot注意本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如......
  • 为什么要使用API接口获取数据?
    在当今数字化和信息化的时代,数据已成为企业和开发者最宝贵的资产之一。API(应用程序编程接口)作为一种标准化的数据获取方式,正在迅速成为获取和共享数据的首选手段。本文将探讨为什么使用API接口获取数据是现代开发的最佳实践。1.高效的数据访问API接口提供了一种高效的方式......
  • 【接口自动化测试】jsonpath应用:提取数据、断言、接口关联
    安装命令pipinstalljsonpath表达式importjsonpathres=jsonpath.jsonpath(obj,expr)1、返回结果要么是list,要么是False2、obj 要提取的对象,应为字典类型。报文的格式是json,必须进行数据的转换, 用json.loads()将json转换成字典类型   expr jsonpath表......