请问这份代码的问题是什么(只有10分)
  • 板块P1142 轰炸
  • 楼主chenzheyu
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/13 22:13
  • 上次更新2023/11/2 14:01:33
查看原帖
请问这份代码的问题是什么(只有10分)
487611
chenzheyu楼主2023/10/13 22:13
#include <bits/stdc++.h>
using namespace std;
int n,x[705],y[705],ans,max1;
vector<int> s[705][4];
vector<int> w;
bool pd;

int js(int a,int b){
	for(int i=0;i<s[a][b].size();i++){
		pd=0;
		for(int j=0;j<w.size();j++){
			if(s[a][b][i]==w[j]){
				pd=1;
				break;
			}
		}
		if(pd==0){
			w.push_back(s[a][b][i]);
			ans++;
		}
	}
}

int main(){
	cin>>n;
	for(int i=1;i<=n;i++) cin>>x[i]>>y[i];
	
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(i==j) continue;
			if(x[i]==x[j]) s[i][0].push_back(j);
			else if(y[i]==y[j]) s[i][1].push_back(j);
			else if(((x[i]<x[j]&&y[i]>y[j])||(x[i]>x[j]&&y[i]<y[j]))&&abs(x[i]-x[j])==abs(y[i]-y[j])) s[i][2].push_back(j);
			else if(((x[i]<x[j]&&y[i]<y[j])||(x[i]>x[j]&&y[i]>y[j]))&&abs(x[i]-x[j])==abs(y[i]-y[j])) s[i][3].push_back(j);
		}
	}
	
	for(int i=1;i<=n;i++){
		for(int j=0;j<4;j++){
			w={};ans=1;
			w.push_back(i);
			js(i,j);
			max1=max(max1,ans);
		}
	}
	
	cout<<max1;
	return 0;
}

谢谢

2023/10/13 22:13
加载中...