Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

HDU/HDOJ 1677 Nested Dolls 搜索

$
0
0

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1677

类似于求最长下降子序列的个数,此题可以用动态规划来解,不过我用简单的搜素来做,可惜超时,先上代码再优化。

#include <iostream>
#include <cmath>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
struct node{
	int w,h;
};
node a[20001];
bool cmp(node a,node b){
	if(a.w!=b.w)return a.w<b.w;
	return a.h<b.h;
}
bool visit[20001];
int main()
{
	int t;
	scanf("%d",&t);
	//cin>>t;
	while(t--)
	{
		int m;
		scanf("%d",&m);
		//cin>>m;
		for(int i=0;i<m;i++)
		{
			scanf("%d %d",&a[i].w,&a[i].h);
			//cin>>a[i].w>>a[i].h;
		}
		sort(a,a+m,cmp);
		for(int i=0;i<m;i++)cout<<a[i].w<<" "<<a[i].h<<endl;
		
		memset(visit,0,sizeof(visit));
		int cnt=0;
		for(int i=0;i<m;i++)
		{
			if(visit[i])continue;
			int k=i;
			for(int j=0;j<m;j++)
			{
				if(visit[j])continue;
				if(a[k].w<a[j].w&&a[k].h<a[j].h){
					visit[j]=1;
					k=j;
				}
			}
			cnt++;
			visit[i]=1;
		}
		cout<<cnt<<endl;
	}
	return 0;
}


作者:xiaozhuaixifu 发表于2013-6-6 0:19:37 原文链接
阅读:84 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>