新手启示者
#include <bits/stdc++.h>
using namespace std;
long long f[1010][1010];
int main(){
int n,m;
cin>>m>>n;
f[0][1]=1;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
if(j==1)
f[i][j]=f[i-1][n]+f[i-1][2];
else if(j==n)
f[i][j]=f[i-1][1]+f[i-1][n-1];
else if(j!=1&&j!=n)
f[i][j]=f[i-1][j-1]+f[i-1][j+1];
}
}
cout<<f[m][n]-1;
return 0;
}
拿错了,代码求解
汪宇航在2021-05-20 19:44:35追加了内容
#include <bits/stdc++.h>
using namespace std;
long long f[1010][1010];
int main(){
int n,m;
cin>>m>>n;
f[0][1]=1;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
if(j==1)
f[i][j]=f[i-1][n]+f[i-1][j+1];
else if(j==n)
f[i][j]=f[i-1][j-1]+f[i-1][1];
else if(j!=1&&j!=n)
f[i][j]=f[i-1][j-1]+f[i-1][j+1];
}
}
cout<<f[m][1];
return 0;
}
错了?