忘川睡着了zZ 2023-03-10 16:17 采纳率: 66.7%
浏览 39
已结题

DP严格表结构,输出不了结果,不知道哪错了?声明给了已经


#include <iostream>
using namespace std;
int getvalue(int x,int y,int step,int***q);
int process(int x,int y,int step);
int f(int x,int y,int step)
{
    return process(x,y,step);
}
int process(int x,int y,int step)
{
    if(x<0||x>10||y<0||y>9)
    {
        return 0;
    }
    if(step==0)
    {
        return (x==0&&y==0)?1:0;
    }
    return process(x+2,y+1,step-1)
    +process(x+2,y-1,step-1)
    +process(x+1,y-2,step-1)
    +process(x-1,y-2,step-1)
    +process(x-2,y-1,step-1)
    +process(x-2,y+1,step-1)
    +process(x-1,y+2,step-1)
    +process(x+1,y+2,step-1);
}
int process2(int x,int y,int step)
{
    if(x<0||x>10||y<0||y>9||step<0)
    {
        return 0;
    }
    int ***q=new int**[step];
    for(int i = 0;i <step;i++) {
        q[i]=new int*[9];
    }
    for(int i = 0;i < step;i++) {
        for(int j = 0;j < 9;j++) {
            q[i][j]=new int[10];
        }
    }
    q[0][0][0]=1;
    for(int i=0;i<step;i++)
    {
        for(int j=0;j<9;j++){
            for(int c =0;c<10;c++)
            {
                cout<<getvalue(j+2,c+1,i-1,q);
                q[i][j][c]+= getvalue(j+2,c+1,i-1,q);
                q[i][j][c]+=getvalue(j+2,c-1,i-1,q);
                q[i][j][c]+=getvalue(j+1,c-2,i-1,q);
                q[i][j][c]+=getvalue(j-1,c-2,i-1,q);
                q[i][j][c]+=getvalue(j-2,c-1,i-1,q);
                q[i][j][c]+=getvalue(j-2,c+1,i-1,q);
                q[i][j][c]+=getvalue(j-1,c+2,i-1,q);
                q[i][j][c]+=getvalue(j+1,c+2,i-1,q);
            }
        }
    }
    int num=q[step][x][y];
    for(int i = 0;i < step;i++) {
        for(int j = 0;j < 9;j++) {
            delete[] q[i][j];
        }
    }
    for(int i = 0;i < step;i++) {
        delete[] q[i];
    }
    delete[] q;
    return num;
}
int getvalue(int x,int y,int step,int***q)
{
    if(x<0||x>10||y<0||y>9||step<0)
    {
        return 0;
    }
    return q[step][x][y];
}
int main(int argc, char** argv){
    cout<<process2(1,2,1);
    return 0;
}
  • 写回答

3条回答 默认 最新

  • threenewbee 2023-03-10 16:26
    关注

    完整的题目是什么,没有题无法判断你的代码是什么问题。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月10日
  • 修改了问题 3月10日
  • 修改了问题 3月10日
  • 修改了问题 3月10日
  • 展开全部

悬赏问题

  • ¥15 这个如何解决详细步骤
  • ¥15 在微信h5支付申请中,别人给钱就能用我的软件,这个的所属行业是啥?
  • ¥30 靶向捕获探针设计软件包
  • ¥15 别人给钱就能用我的软件,这个的经营场景是啥?
  • ¥15 react-diff-viewer组件,如何解决数据量过大卡顿问题
  • ¥20 遥感植被物候指数空间分布图制作
  • ¥15 安装了xlrd库但是import不了…
  • ¥20 Github上传代码没有contribution和activity记录
  • ¥20 SNETCracker
  • ¥15 数学建模大赛交通流量控制