社区讨论

555蒟蒻求助o(>﹏<)o

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

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@loc705oy
此快照首次捕获于
2023/10/30 08:59
2 年前
此快照最后确认于
2023/11/04 18:21
2 年前
查看原帖
蒟蒻的代码
CPP
#include <bits/stdc++.h>
using namespace std;
unsigned long long s[25][25] = {0};
int n, m, a, b;
bool find(int x, int y){
	x--;
	y--;
	if(x == a && y == b)
		return true;
	if(x == a+1 && y == b+2)
		return true;
	if(x == a+2 && y == b+1)
		return true;
	if(x == a+2 && y == b-1)
		return true;
	if(x == a+1 && y == b-2)
		return true;
	if(x == a-1 && y == b-2)
		return true;
	if(x == a-2 && y == b-1)
		return true;
	if(x == a-2 && y == b+1)
		return true;
	if(x == a-1 && y == b+2)
		return true;
	return false;
}
int main(){
	cin >> n >> m >> a >> b;
	for(int i = 1; i <= n+1; i++){
		for(int j = 1; j <= m+1; j++){
			if(i == 1 && j == 1){
				s[i][j] = 1;
				continue;
			}
			if(find(i, j))
				continue;
			else if(find(i-1, j))
				s[i][j] = s[i][j-1];
			else if(find(i, j-1))
				s[i][j] = s[i-1][j];
			else
				s[i][j] = s[i][j-1]+s[i-1][j];
		}
	}
	cout << s[m+1][n+1];
	return 0;
}

回复

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

正在加载回复...