满江紫
查看原帖
满江紫
996229
UNPZM楼主2024/8/23 20:12

针对40分代码

#include<iostream>
#include<string.h>
using namespace std;
struct dl{
	int x;
	int y;
}a[501];
int big=-1,used[501],ans=-1;
int n,k;
int cz(int xx,int yy){
	for(int i=1;i<=n;i++){
		if(a[i].x==xx&&a[i].y==yy){
			return i;
		}
	}
	return -1;
}
int go(int i,int l){
	if(used[i]==1){
		return 0;
	}used[i]=1;
	if(l>big){
		big=l;
	}
	int wssb=cz(a[i].x+1,a[i].y);
	if(wssb!=0){
		go(wssb,l+1);
	}
	wssb=cz(a[i].x,a[i].y+1);
	if(wssb!=0){
		go(wssb,l+1);
	}
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i].x>>a[i].y;
	}
	if(k==0){
		for(int i=1;i<=n;i++){
			memset(used,0,sizeof(used));                                      
			big=0;
			go(i,1);
				ans=max(ans,big);
		}
	}
	
	cout<<ans;
	return 0;
}

不是怎么提交上去re一片

2024/8/23 20:12
加载中...