有没有大佬帮忙一下
查看原帖
有没有大佬帮忙一下
524091
dami826楼主2022/12/13 18:16
#include<bits/stdc++.h>
using namespace std;
int A[20][20]; 
struct chess{
	int x,y;
};
int main(){
	chess m,b;
	scanf("%d %d %d %d",&b.x,&b.y,&m.x,&m.y);
    A[m.x][m.y]=0;
    if(m.x+1<=4&&m.y+2<=4){
    	A[m.x+1][m.y+2]=-1;
	}
	if(m.x-1>=0&&m.y+2<=4){
    	A[m.x-1][m.y+2]=-1;
	}
	if(m.x+1<=4&&m.y-2>=0){
    	A[m.x+1][m.y-2]=-1;
	}
	if(m.x-1>=0&&m.y-2>=0){
    	A[m.x-1][m.y-2]=-1;
	}
	if(m.x+2<=4&&m.y+1<=4){
    	A[m.x+2][m.y+1]=-1;
	}
	if(m.x-2>=0&&m.y+1<=4){
    	A[m.x-2][m.y+1]=-1;
	}
	if(m.x+2<=4&&m.y-1>=0){
    	A[m.x+2][m.y-1]=-1;
	}
	if(m.x-2>=0&&m.y-1>=0){
    	A[m.x-2][m.y-1]=-1;
	}
    for(int i=0;i<=4;i++){
    	for(int j=0;j<=8;j++){
    		if(i!=0||j!=0){
    			if(A[i][j]!=-1){
	    			if(i-1>=0){
		    			if(j-1>=0){
		    				A[i][j]=A[i][j-1]+A[i-1][j];
						}
						else{
							A[i][j]=A[i-1][j];
						}
					}
					else{
						A[i][j]=A[i][j-1];
					}
				}
			}
			else{
				A[i][j]=1;
			}
		}
	}
	printf("%d",A[b.x][b.y]);
    return 0;
}
2022/12/13 18:16
加载中...