RT,WA on #3 #4,
我的代码:
#include<iostream>
using namespace std;
int en,em,n,m,sn,sm;
int route[31][31];
bool ava[31][31];
int main(){
sn=2,sm=2;
cin>>en>>em>>n>>m;
en+=2,em+=2,n+=2,m+=2;
for(int i=2;i<=31;i++){
route[2][i]=1;
route[i][2]=1;
}
for(int i=0;i<=31;i++)
for(int j=0;j<=31;j++)
ava[i][j]=true;
ava[n-2][m-1]=false;
ava[n-1][m-2]=false;
ava[n+2][m-1]=false;
ava[n+1][m-2]=false;
ava[n-2][m+1]=false;
ava[n-1][m+2]=false;
ava[n+2][m+1]=false;
ava[n+1][m+2]=false;
ava[n][m]=false;
route[n][m]=0;
route[n-2][m-1]=0;
route[n-1][m-2]=0;
route[n+2][m-1]=0;
route[n+1][m-2]=0;
route[n-2][m+1]=0;
route[n-1][m+2]=0;
route[n+2][m+1]=0;
route[n+1][m+2]=0;
for(int i=3;i<=en;i++)
for(int j=3;j<=em;j++){
if(ava[i][j]==false)
continue;
route[i][j]=route[i-1][j]+route[i][j-1];
}
cout<<route[en][em];
return 0;
}
(十分丑陋求原谅)
手玩了一下做法感觉应该不会有问题啊(虽然没有用很标准的dp但也算是递推了)
Wa 数据:(#3)
input:
20 20 4 0
我的output:
1215956162
AC output:
56477364570