有一个有趣的游戏名为一人游戏.它在m*n网格上播放.每个网格单元格中都有一个非负整数.您的得分为0.您不能输入整数为0的单元格.您可以在任何所需的单元格中开始和结束游戏(当然,单元格中的数字不能为0).在每个步骤中,您可以向上,向下,向左和向右移动到相邻的网格单元格.你最后得到的分数是你路径上的数字之和.但是你最多可以输入一次.
游戏的目的是让你的分数尽可能高.
输入:
第一行输入是T测试用例数的整数.每个测试用例的第一行是包含2个整数的单行m,n它是网格中的行数和列数.接下来的每一m行都包含n空格分隔的整数,D表示相应单元格中的数字
输出:
对于每个测试用例,在一行中输出一个整数,这是您最后可以得到的最大分数.
约束:
T小于7.
D小于60001.
m且n小于8.
样本输入:
4
1 1
5911
1 2
10832 0
1 1
0
4 1
0
8955
0
11493
Run Code Online (Sandbox Code Playgroud)
样本输出:
5911
10832
0
11493
Run Code Online (Sandbox Code Playgroud)
我尝试过,但我的做法是工作很慢的7×7 grid.I我试图递归访问网格的每一个可能的路径和比较每path.Below的总和是我的代码
#include<iostream>
#include <algorithm>
#include <stdio.h>
using namespace std;
int max(int a,int b,int c, int d)
{
int max = a;
if(b>max)
max = b;
if(c>max)
max …Run Code Online (Sandbox Code Playgroud) 编号为1..N的N个问题需要完成.你已经安排了增加难度顺序的问题,并且第i个问题估计了难度级别i.您还为每个问题分配了一个评级vi.类似vi值的问题在性质上是类似的.在每一天,您将选择一部分问题并解决它们.您已经确定当天解决的每个后续问题应该比您当天解决的上一个问题更难.另外,为了不让它变得无聊,你解决的连续问题应该在vi等级上至少为K.你可以解决所有问题的最少天数是多少?
输入:第一行包含测试用例数T.T测试用例如下.每个案例在第一行包含整数N和K,在第二行包含整数v1,...,vn.
输出:输出T行,每个测试用例一行,包含可以解决所有问题的最小天数.
约束:
1 <= T <= 100
1 <= N <= 300
1 <= VI <= 1000
1 <= K <= 1000
样本输入:
2
3 2
5 4 7
5 1
5 3 4 5 6
样本输出:
2
1
这是访谈街的挑战之一.
下面是我的方法
从第一个问题开始,找出最大可能的问题数量可以解决并从问题列表中删除这些问题.现在再次从剩余列表的第一个元素开始并执行此操作直到现在问题列表的大小为0我从这种方法得到错误的答案,所以寻找一些算法来解决这个挑战.