记录编号 125379 评测结果 AAAAAAAAAA
题目名称 [NOIP 2002]过河卒 最终得分 100
用户昵称 Gravatar水中音 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2014-10-08 17:17:21 内存使用 0.32 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
bool a[21][21]={0};
int bx,by,mx,my;
long long k[21][21]={0};
int main()
{
	freopen("pj024.in","r",stdin);
	freopen("pj024.out","w",stdout);
	scanf("%d%d%d%d",&bx,&by,&mx,&my);
	a[mx][my]=true;
	if(mx<=18&&my<=19)a[mx+2][my+1]=true;
	if(mx<=18&&my>=1)a[mx+2][my-1]=true;
	if(mx>=2&&my<=19)a[mx-2][my+1]=true;
	if(mx>=2&&my>=1)a[mx-2][my-1]=true;
	if(mx<=19&&my<=18)a[mx+1][my+2]=true;
	if(mx<=19&&my>=2)a[mx+1][my-2]=true;
	if(mx>=1&&my<=18)a[mx-1][my+2]=true;
	if(mx>=1&&my>=2)a[mx-1][my-2]=true;
	for(int i=1;i<=by;i++)
	if(a[0][i]) break;
	else k[0][i]=1;
	for(int i=1;i<=bx;i++)
	if(a[i][0]) break;
	else k[i][0]=1;
	for(int i=1;i<=by;i++)
	for(int p=1;p<=bx;p++)
	{
		if(!a[p][i-1])k[p][i]+=k[p][i-1];
		if(!a[p-1][i])k[p][i]+=k[p-1][i];
	}
	printf("%lld\n",k[bx][by]);
	return 0;
}