记录编号 |
215628 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2002]过河卒 |
最终得分 |
100 |
用户昵称 |
xbwcan |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.546 s |
提交时间 |
2015-12-23 14:15:26 |
内存使用 |
0.32 MiB |
显示代码纯文本
#include<cstdio>
#include<iostream>
using namespace std;
int a[25][25],vis[2][4]={{1,0},{0,1}};
int n,m,q,p;
int ans=0;
void dfs(int y,int x){
if(y<0||x<0||x>m||y>n)return;
if(a[y][x]==1)return ;
if(y==n&&x==m){
ans++;return;
}
for(int i=0;i<2;i++)dfs(y+vis[1][i],x+vis[0][i]);
return ;
}
int main(){
freopen("pj024.in","r",stdin);
freopen("pj024.out","w",stdout);
cin>>n>>m>>p>>q;
a[p][q]=a[p+1][q+2]=a[p+1][q-2]=a[p+2][q-1]=a[p+2][q+1]=a[p-1][q+2]=a[p-1][q-2]=a[p-2][q-1]=a[p-2][q+1]=1;
dfs(0,0);
cout<<ans;
return 0;
}