就是我不管怎么办,总是有一个位置出现超大随机数,导致洛谷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;
}
注释掉的是测试用