社区讨论

求助!#4WA

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

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@lqqp0193
此快照首次捕获于
2023/12/29 21:51
2 年前
此快照最后确认于
2023/12/30 10:07
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int main(){
	int bx,by,hx,hy;
	cin >> bx >> by >> hx >> hy;
	int m[bx+2][by+2]={0};
	long long ans[bx+2][by+2]={0};
	int _x[8]={-2,-2,-1,-1,+1,+1,+2,+2};
	int _y[8]={-1,+1,-2,+2,-2,+2,-1,+1};
	for (int i = 0;i < 8;i++)
	{
		int x=hx+_x[i],y=_y[i]+hy;
		if (x>=0&&x<=bx&&y>=0&&y<=by)
			m[x][y]=1;
	}
	m[hx][hy]=1;
	int xx=0,yy=0;
	while (yy<=by)
	{
		if (m[xx][yy]==1)
			break;
		ans[xx][yy]=1;
		yy++;
	}
	yy=0;
	while (xx<=bx)
	{
		if (m[xx][yy]==1)
			break;
		ans[xx][yy]=1;
		xx++;
	}
	for (int i = 1;i <= bx;i++)
	{
		for (int j = 1;j <= by;j++)
		{
			if (m[i][j]==1)
				continue;
			else
				ans[i][j]=ans[i-1][j]+ans[i][j-1];
		}
	}
	cout << ans[bx][by];
	return 0;
}

回复

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

正在加载回复...