怎么有两个点TLE
查看原帖
怎么有两个点TLE
374523
JustinJQian楼主2021/9/5 17:30

求帮助

#include <iostream>
using namespace std;
int a[1000+5][1000+5],x[100000+5],y[100000+5];
bool find(int a[],int m,int b){
	for (int i = 0;i < m;i++){
		if (a[i] == b) return 1;
	}
//	cout << "#0|";
	return 0;
}
int main(){
	int n,m;
	cin >> n >> m;
	for(int i = 0;i < m;i++){
		cin >> x[i] >> y[i];
	}
	a[1][1] = 1;
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= n;j++){
			if (i==1 && j==1) continue;
			if (!find(x,m,i)||!find(y,m,j)){
				a[i][j] = (a[i-1][j] + a[i][j-1])%100003; 
			}
//			cout << a[i][j] << "\t";
		}
//		cout << endl;
	}
	cout << a[n][n];
	return 0;
}
2021/9/5 17:30
加载中...