社区讨论

3、4点TLE,有谁知道这是为什么啊?

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

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@lo933ovb
此快照首次捕获于
2023/10/28 04:47
2 年前
此快照最后确认于
2023/10/28 04:47
2 年前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
int a[30][30]={0};
int n=0;
long long  f(int b,int c) {
	if (a[b][c]==0) {
//		cout << b <<" "<<c <<endl; 
		if (c==2 && b==2) return 1;
		else if (b==2) return f(b,c-1);
		else if (c==2) return f(b-1,c);
		else return  f(b,c-1)+f(b-1,c);
	}
	else return 0;
}
int main () {
	int b,c,x,y;
	long long z=0;
	cin >> b >>c >>x >>y;
	b+=2;c+=2,x+=2,y+=2;
	a[x][y]=1;
	a[x-2][y-1]=1;
	a[x-1][y-2]=1;
	a[x-2][y+1]=1;
	a[x-1][y+2]=1;
	a[x+1][y+2]=1;
	a[x+2][y+1]=1;
	a[x+1][y-2]=1;
	a[x+2][y-1]=1;
	z =f(b,c);
	cout <<z;

	return 0;
} //for (x=0;x<=b;x++) {
//	for (y=0;y<=c;y++)
//		cout <<a[x][y] <<" ";
//	cout <<endl;	
//} 
//for (int x=0;x<=b;x++) {
//	for (int y=0;y<=c;y++)
//		cout <<a[x][y] <<" ";
//	cout <<endl;
//}

回复

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

正在加载回复...