当前位置:网站首页>P1057 传球游戏 (DP)

P1057 传球游戏 (DP)

2021-08-10 08:02:46 wx6110fa547fd20

P1057 传球游戏 (DP)

 题目传送门

题意:n个人传球,求从1开始传,传m次传给1的方案数。

思路:
在这里插入图片描述

AC代码:
sol1:取模的方法:

#include<cstdio>
int a[35][35];
int main(){
	int n,m;
	scanf("%d%d",&n,&m);
	a[0][0]=1;
	for(int i=0;i<m;i++)
		for(int j=0;j<n;j++)
			a[i+1][(j-1+n)%n]+=a[i][j],a[i+1][(j+1)%n]+=a[i][j];
	printf("%d\n",a[m][0]);
	return 0;
}

      
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

sol2:特判1和n

#include<cstdio>
int a[35][35];
int main(){
	int n,m;
	scanf("%d%d",&n,&m);
	a[0][1]=1;
	for(int i=1;i<=m;i++)
		for(int j=1;j<=n;j++)
		{
			if(j==1) a[i][j]=a[i-1][n]+a[i-1][2];
			else if(j==n) a[i][j]=a[i-1][n-1]+a[i-1][1];
			else a[i][j]=a[i-1][j-1]+a[i-1][j+1];
		}
	printf("%d\n",a[m][1]);
	return 0;
}

      
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

版权声明
本文为[wx6110fa547fd20]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_15326986/3328284

随机推荐