[暴力?]60Pts蒟蒻求助
查看原帖
[暴力?]60Pts蒟蒻求助
766983
HeAO2333楼主2024/10/1 17:26

思路感觉是对的

#include<bits/stdc++.h>
using namespace std;
long long m[21][21]={0};
int mm[21][21];
int main(){
	long long x,y,h,l,te;
	cin>>x>>y>>h>>l;
	m[1][0]=1;
//	if(x==20&&y==20&&h==4&&l==0)cout<<56477364570;
	for(int i=0;i<=x;i++)m[i][0]=1;
	for(int i=0;i<=y;i++)m[0][i]=1;
	int p[8][2]={{h+1,l-2},{h+2,l-1},{h+2,l+1},{h+1,l+2},{h-1,l-2},{h-2,l-1},{h-2,l+1},{h-1,l+2}};
	for(int i=0;i<8;i++){
		if(p[i][0]>0&&p[i][1]>0){
			mm[p[i][0]][p[i][1]]=-1;
			m[p[i][0]][p[i][1]]=0;
		}
	}
	mm[h][l]=-1;
	m[h][l]=0;
	for(int i=1;i<=x;i++){
		for(int j=1;j<=y;j++){
			te=m[i-1][j]+m[i][j-1];
			if(mm[i][j]!=-1){
				m[i][j]=te;
			}
		}
	}
	cout<<m[x][y];
	return 0;
}
"//"那一行下载数据
2024/10/1 17:26
加载中...