nyoj_16_dag

来源:互联网 发布:php调用api接口 编辑:程序博客网 时间:2024/06/03 23:47
#include<algorithm>#include<cstring>#include<stdio.h>int n;int a[1100][2];int get[1100][1100];int d[1100];int dp(int i){if(d[i]>0){return d[i];}d[i]=1;int j;for(j=0;j<n;j++){if(get[i][j]){int m=dp(j)+1;if(d[i]<m){d[i]=m;}}}return d[i];}int main(){int t,i,j;scanf("%d",&t);while(t--){memset(get,0,sizeof(get));memset(d,0,sizeof(d));scanf("%d",&n);for(i=0;i<n;i++){scanf("%d%d",&a[i][0],&a[i][1]);}for(i=0;i<n;i++){for(j=0;j<n;j++){if(i!=j){if(a[i][0]<a[j][0]&&a[i][1]<a[j][1]||a[i][1]<a[j][0]&&a[i][0]<a[j][1]){get[i][j]=1;}}}}int max=0;for(i=0;i<n;i++){int m=dp(i);//从i砖开始深搜,得到最长路径。if(max<m){max=m;}}printf("%d\n",max);}return 0;}

0 0