1. 程式人生 > >noip2008普及組t3傳球遊戲

noip2008普及組t3傳球遊戲

人在 ddd view algo aps OS opened main ()

簡單dp

dp[i][j]表示第i個人在j次傳球前的狀態

註意i=1 i=n時特殊處理

技術分享圖片
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
#include<algorithm>
using namespace std;
int n,m,f[35][35];
int read()
{
    int x=0,f=1;
    char ch=getchar();
    while(!isdigit(ch)) {if
(ch==-) f=-1;ch=getchar();} while(isdigit(ch)) {x=x*10+ch-0;ch=getchar();} return x*f; } int main() { scanf("%d%d",&n,&m); f[1][0]=1; for(int i=1;i<=m;i++) { f[1][i]=f[n][i-1]+f[2][i-1]; f[n][i]=f[1][i-1]+f[n-1][i-1]; for(int j=2;j<n;j++) { f[j][i]
=f[j-1][i-1]+f[j+1][i-1]; } } printf("%d",f[1][m]); }
View Code

noip2008普及組t3傳球遊戲