P1644中遇到的一个问题
  • 板块灌水区
  • 楼主Crab_time
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/3/20 22:09
  • 上次更新2023/10/28 06:03:10
查看原帖
P1644中遇到的一个问题
358283
Crab_time楼主2022/3/20 22:09

就是我不管怎么办,总是有一个位置出现超大随机数,导致洛谷IDE和题目过不去,但本地正常。不知如何解决 代码如下:

#include<iostream>
#include<cstring>
using namespace std;

#define fl(i,a,b) for(int i = a;i<(b);i++)
#define fle(i,a,b) for(int i = a;i<=(b);i++)
#define fge(i,a,b) for(int i = a;i>=(b);i--)
#define inf 0x3f3f3f3f
#define ll long long
#define MAXN 25
#define MAXM 25

ll ma[MAXN][MAXM];

int main()
{
    int n,m;
    cin >> n >> m;
    fle(i,0,m){fle(j,0,n){ma[i][j]=0;}}
    ma[0][0] = 1;
    fle(i,1,m)
    {
        fle(j,0,n){
            if(i == 0&&j == 0){continue;}
            if(i<2&&j+2>n){ma[i][j] = ma[i-1][j-2];continue;}
            if(i<2&&j+2<n){ma[i][j] = ma[i-1][j-2] + ma[i-1][j+2];continue;}
            if(j+1>n){ma[i][j] = ma[i-1][j-2] + ma[i-2][j-1];continue;}
            if(j+2>n){ma[i][j] = ma[i-1][j-2] + ma[i-2][j-1] + ma[i-2][j+1];continue;}
            ma[i][j] = ma[i-1][j-2] + ma[i-1][j+2] + ma[i-2][j-1] + ma[i-2][j+1];
        }
    }
    // fle(i,0,m){fle(j,0,n){cout << ma[i][j] << " ";}cout << endl;}
    cout << ma[m][n];
    return 0;
}

注释掉的是测试用

2022/3/20 22:09
加载中...