$else$ 没去掉嘿嘿嘿,无伤大雅
by VIOLET__FOREVER @ 2023-08-22 17:04:01
@[VIOLET__FOREVER](/user/422387) 开o2(
by lcy_123 @ 2023-08-22 17:08:06
@[lcy12](/user/615490) 好像不行欸
by VIOLET__FOREVER @ 2023-08-22 18:55:26
那个点是 ```10 29```
by VIOLET__FOREVER @ 2023-08-22 18:55:49
@[VIOLET__FOREVER](/user/422387) 要不用dp做?
by lcy_123 @ 2023-08-23 07:39:52
@[lcy12](/user/615490) emm我DP水平有点不好,但是我的DP挂了,可以帮我看看麽
```cpp
#include<bits/stdc++.h>
#define int long long
const int N=35;
using namespace std;
int n,m;
int f[N][N];
signed main(){
cin>>n>>m;
for(int i=1;i<=n;i++) f[i][0]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
int l,r;
l=i-1,r=i+1;
if(l==0) l=n;
if(r==n+1) r=1;
f[i][j]=max(f[i][j],f[l][j-1]+f[r][j-1]);
}
}
cout<<f[n][m];
return 0;
}
```
by VIOLET__FOREVER @ 2023-08-23 08:58:58
芝士我的代码,你的转移方程好像不太对
```cpp
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,dp[2005][2005];
signed main()
{
cin>>n>>m;dp[0][1]=1;
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
if(j==1)dp[i][j]=dp[i-1][n]+dp[i-1][2];
else if(j==n)dp[i][j]=dp[i-1][n-1]+dp[i-1][1];
else dp[i][j]=dp[i-1][j-1]+dp[i-1][j+1];
cout<<dp[m][1];
}
```
by lcy_123 @ 2023-08-23 10:27:11