社区讨论

[暴力?]60Pts蒟蒻求助

P1002[NOIP 2002 普及组] 过河卒参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@m1q8jx6h
此快照首次捕获于
2024/10/01 17:27
去年
此快照最后确认于
2025/11/04 18:23
4 个月前
查看原帖
思路感觉是对的
CPP
#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;
}
CPP
"//"那一行下载数据

回复

1 条回复,欢迎继续交流。

正在加载回复...