友好城市
来源:互联网 发布:巨人网络财务报表 编辑:程序博客网 时间:2024/06/09 22:48
Problem Description
Palmia国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。
每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航线不相交的情况下,被批准的申请尽量多。
每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航线不相交的情况下,被批准的申请尽量多。
Input
输入的第一行为T,表示测试示例的个数。对于每组测试数据,
第1行,一个整数N(1<=N<=5000),表示城市数。
第2行到第n+1行,每行两个整数,中间用1个空格隔开,分别表示南岸和北岸的一对友好城市的坐标。(0<=xi<=10000)
第1行,一个整数N(1<=N<=5000),表示城市数。
第2行到第n+1行,每行两个整数,中间用1个空格隔开,分别表示南岸和北岸的一对友好城市的坐标。(0<=xi<=10000)
Output
对于每组测试数据,仅一行,输出一个整数,表示政府所能批准的最多申请数。
Sample Input
1 7 22 4 2 6 10 3 15 12 9 8 17 17 4 2
Sample Output
4
/*最长升子序列的延生: 排序:南岸(x)排升序,再排北岸(y)升序 从第二个数开始,拿北岸的与前面的比,看是否大于前面的,满足就加一次*/#include<cstdio>#include<malloc.h>#include<algorithm>#include<iostream>using namespace std;struct mad{ int x; int y; int c;};bool cmp(mad i, mad j) //排序{ if(i.x != j.x) return i.x < j.x; else return i.y < j.y;}int main(){ int t, i, j, ma, mi, max, w, n; mad *a; while(scanf("%d", &t) != EOF && t) { while(t--) { scanf("%d", &n); a = (mad *)malloc(sizeof(mad) * n); for(i = 0; i < n; i++) { scanf("%d%d", &a[i].x, &a[i].y); a[i].c = 1; } sort(a, a + n, cmp); for(i = 1; i < n; i++) { max = 0; for(j = 0; j < i; j++) { if(a[i].y > a[j].y && max < a[j].c) max = a[j].c; } a[i].c += max; } for(i = 0, max = 0; i < n; i++) if(max < a[i].c) max = a[i].c; printf("%d\n", max); free(a); } } return 0;}
0 0
- 友好城市
- 友好城市
- 友好城市
- 友好城市
- 友好城市
- 友好城市
- 友好城市
- 友好城市
- 友好城市
- 友好城市
- 友好城市
- 友好城市
- 【9930】友好城市
- 20160806 友好城市
- luogu2782友好城市
- 5064. 友好城市
- P1615 友好城市
- lg2782 友好城市
- js 闭包作用
- 百度面试题-“盗梦空间”
- UIImage:去色功能的实现(图片灰色显示)
- vsftpd 配置
- C++ 对象的内存布局(上)
- 友好城市
- 【iOS】singleton的属性,以及getter在使用上的一点问题
- 【算法导论】决策树是满二叉树吗?
- PHP 实现单链表
- 动态生成WCF服务端的简单小例子
- 深入探讨 Java 类加载器(转)
- Eclipse Maven报错:Plugin execution not covered by lifecycle configuration
- hdu 1241 Oil Deposits
- 软件测试资料