题解:SP16212 DCEPC11J - Jailbreak
题目传送门
题目描述
这是一道动态规划。
题目思路
要知道到达
注意
记得取模。
code
#include<bits/stdc++.h>
using namespace std;
int t,n,m,f[10005][10005];
long long mod=1e9+7;
int main()
{
cin>>t;
f[1][1]=1;
for(int j=1;j<=505;j++)
{
for(int k=1;k<=505;k++)
{
if(j==1&&k==1) continue;
if(j>=1) f[j][k]=(f[j][k]+f[j-1][k])%mod;
if(j>=2) f[j][k]=(f[j][k]+f[j-2][k]*2)%mod;
if(k>=2) f[j][k]=(f[j][k]+f[j][k-2]*2)%mod;
if(k>=1) f[j][k]=(f[j][k]+f[j][k-1])%mod;
f[j][k]%=mod;
}
}//先算出各个位置的值
for(int i=1;i<=t;i++)
{
cin>>n>>m;
cout<<f[n][m]<<endl;
}//输出
}