黑工程24年12月校赛
2025-04-11 10:59:41
发布于:黑龙江
4阅读
0回复
0点赞
传到 第 i 个人的方式为 i-1 --> i 和 i+1 -->i,当然i是第一个人的时候和最后一个人的时候分开讨论,不开 ll 等着 wr
ans:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl '\n'
typedef unsigned long long ull;
const int N=2e5+10;
const ll ma=1e9+7;
#define INF 0x3f3f3f3f;
ll read() {
ll x, f = 1;
char ch;
while(ch = getchar(), ch < '0' || ch > '9') if(ch == '-') f = -1;
x = ch - '0';
while(ch = getchar(), ch >= '0' && ch <= '9') x = x * 10 + ch - 48;
return x * f;
}
ll arr[110][110];
inline void solve()
{
int n = read() , m = read();
arr[0][0] = 1;
for(int j = 1 ; j <= m ; j++)
{
for(int i = 1 ; i < n-1 ; i++)
arr[j][i] = arr[j-1][i-1] + arr[j-1][i+1];
arr[j][0] = arr[j-1][1]+arr[j-1][n-1];
arr[j][n-1] = arr[j-1][0] + arr[j-1][n-2];
}
cout<<arr[m][0];
}
int main() {
int t=1;
// cin>>t;
while(t--)solve();
return 0;
}
这里空空如也
有帮助,赞一个