记录编号 |
217583 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2008]传球游戏 |
最终得分 |
100 |
用户昵称 |
Lovelove_boii |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.003 s |
提交时间 |
2016-01-04 20:24:20 |
内存使用 |
0.31 MiB |
显示代码纯文本
/*#include <fstream>
using namespace std;
int n,m,f[31][31];
int main()
{
ifstream cin("ballg.in");
ofstream cout("ballg.out");
cin>>n>>m;
for(int i=0;i<=n;i++)
{
for(int j=0;j<=m;j++)
{
if(i==0 || j==1)
f[i][j]=1;
if(j>=2&&j<=n-1)
f[i][j]=f[i-1][j-1]+f[i-1][j+1];
if(j==1)
f[i][j]=f[i-1][n]+f[i-1][2];
if(j==n)
f[i][j]=f[i-1][n-1]+f[i-1][1];
}
}
cout<<f[m][1];
return 0;
}
*/
#include <iostream>
#include <cstdio>
#include <cstring>
#include <climits>
using namespace std;
int n,m;//n个people,传m次
int f[31]; int g[31]; int t;
int main()
{ freopen("ballg.in","r",stdin); freopen("ballg.out","w",stdout); scanf("%d%d",&n,&m); f[1]=1; for(int i=1;i<=m;i++) { t=f[1]; g[n]+=t;g[2]+=t; for(int j=2;j<n;j++) { t=f[j]; g[j-1]+=t;g[j+1]+=t; } t=f[n]; g[1]+=t;g[n-1]+=t; for(int i=1;i<=n;i++) { f[i]=g[i]; g[i]=0; } } printf("%d\n",f[1]); return 0; }