比赛 CSP2022普及组 评测结果 AAWWTAATTTWWWWWWWWWW
题目名称 上升点列 最终得分 20
用户昵称 嗨嗨嗨 运行时间 4.352 s
代码语言 C++ 内存使用 1.43 MiB
提交时间 2022-10-29 17:59:42
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
struct dian
{
	int x,y;
}a[501];
int n,k,i,ans,num,visited[501];
void bfs(int m)
{
	ans=max(ans,num);
	for(int j=1;j<=n;j++)
	{
		if(visited[j]==0&&((a[j].x==a[m].x&&a[j].y==a[m].y+1)||(a[j].x==a[m].x+1&&a[j].y==a[m].y)))
		{
			visited[j]=1;
			num++;
			bfs(j);
			num--;
			visited[j]=0;
		}
	}
}
int main()
{
    freopen("csp2022pj_point.in","r",stdin);
    freopen("csp2022pj_point.out","w",stdout);
    cin>>n>>k;
    for(i=1;i<=n;i++) cin>>a[i].x>>a[i].y;
    if(k==0)
    {
    	for(i=1;i<=n;i++)
    	{
    		num=1;
    		visited[i]=1;
    		bfs(i);
    		visited[i]=0;
		}
		cout<<ans;
	}
    return 0;
}