蒟蒻求助
查看原帖
蒟蒻求助
120440
zrll楼主2020/12/25 15:38

目前还差3 4两个测试点wa 感谢各位大佬帮我看一下

#include <string.h> 
#include <iostream>
#include <queue>
using namespace std;

long long map[21][21];
int dx[8]={1,2,2,1,-1,-2,-2,-1},dy[8]={2,1,-1,-2,-2,-1,1,2};

int main()
{
	memset(map,0,sizeof(map));
	map[0][0] = 1;
	long long m,n,mx,my,temp = 0;
	cin>>m>>n>>mx>>my;
	m++;n++;
	map[mx][my] = -1;
	for(int i=0;i<8;i++)
	    map[mx+dx[i]][my+dy[i]] = -1;

	for(int i=0;i<m;i++){
		for(int j=0;j<n;j++){
			if(map[i-1][j] != -1 && i-1 >=0)
			    temp += map[i-1][j];
			if(map[i][j-1] != -1 && j-1 >=0)
			    temp += map[i][j-1];
			if(map[i][j] != -1 && !(i == 0 && j == 0))
			    map[i][j] = temp;
			temp = 0;
		}
	}

    /*for(int i=0;i<m;i++){
    	for(int j=0;j<n;j++)
    	    cout<<map[i][j]<<" ";
    	cout<<endl;
	}*/
	cout<<map[m-1][n-1]<<endl;
	return 0;
}
2020/12/25 15:38
加载中...