P1057 dp思路求调
  • 板块学术版
  • 楼主super_zzr
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/5/23 20:38
  • 上次更新2023/10/23 14:55:26
查看原帖
P1057 dp思路求调
966353
super_zzr楼主2023/5/23 20:38
#include<iostream>
using namespace std;
int f[1005][1005]={0},n,m;
int main(){
	f[1][n]=1;//第一次传球手动枚举
	f[1][2]=1;
	cin>>n>>m;
	for(int i=2;i<=m;i++){//到了第i次传球
		for(int j=1;j<=n;j++){//现在是传到了第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{//非特殊情况
				f[i][j]=f[i-1][j-1]+f[i-1][j+1];
			}
		}
	}
	cout<<f[m][1];//输出
}

2023/5/23 20:38
加载中...