渡轮问题Ship
题目描述
Palmia河从东往西流过Palmia国,把整个国家分成南北两半。河的两岸各有N个城市,北岸的每一个城市都与南岸的一个城市互为友好城市,而且任意两个北岸城市的友好城市都不相同。每一对友好城市都向政府申请,希望开通一条连接两城市的航线。但政府遇到一个问题:Palmia河上经常有大雾,这对航行不利。为了降低出现航行事故的可能性,政府决定任意两条航线不能交叉,这样,政府就不一定能接受所有城市的申请。
你的任务是:写一程序帮助政府决定接受哪些城市的申请,使开通的航线最多。
输入输出格式
输入格式:
输入数据文件Ship.in,
第一行有两个整数,第一个整数代表Palmia河河岸线的长度(≤10000),第二个整数代表Palmia河的宽度(≤50)。
第二行有一个整数N(≤1000),表示河一侧的城市数目;
以下N行每行有两个非负整数C、D,C代表北岸城市的位置(Palmia河从西边国界开始到该城市的距离),D代表南岸城市的位置,C和D为一对友好城市。
输出格式:
输出到Ship.out,
它只有一个整数,为可以获得的最大航线数目。
输入输出样例
输入样例#1:
Ship.in
30 4
7
22 4
2 6
10 3
15 12
9 8
17 17
4 2
输出样例#1:
Ship.out
4
思路
将两岸的城市位置按任意一岸城市位置排序,再求出另外一岸城市位置的最长不下降子数列的长度即可。
代码
#include<stdio.h>
int a[],b[][]={};
int main()
{int c,d,n,i,j,p;
scanf("%d%d%d",&c,&d,&n);
for(i=;i<=n;i++)
{
scanf("%d%d",&a[i],&b[i][]);
b[i][]=;
}
for(i=;i<=n-;i++)
for(j=;j<=n-i;j++)
if(a[j]>a[j+])
{
p=a[j];
a[j]=a[j+];
a[j+]=p;
b[][]=b[j][];
b[j][]=b[j+][];
b[j+][]=b[][];
}
p=;
for(i=;i<=n;i++)
for(j=i+;j<=n;j++)
{
if(b[i][]<b[j][]&&b[i][]>=b[j][])
b[j][]=b[i][]+;
if(b[j][]>p)
p=b[j][];
}
printf("%d",p);
return ;
}
渡轮问题Ship的更多相关文章
- A ship is always safe at the shore - but that is not what it is built for.
A ship is always safe at the shore - but that is not what it is built for. 船靠岸边总是安全的,但那不是建造它的目的.
- XidianOJ 1176 ship
题目描述 The members of XDU-ACM group went camp this summer holiday. They came across a river one day. T ...
- Some User Can Not Execute "Ship Confirm"(Doc ID 473312.1)
APPLIES TO: Oracle Shipping Execution - Version 11.5.10.2 and later Information in this document app ...
- space ship
按下向上箭头,飞船速度不是一直增加 而且飞船移动的方向是固定的不是有角度的 按下箭头飞船可以飞了,但是不减速 加一个keyup handler就可以啦!可以一直加速,不按的时候也可以减速 按下向下按钮 ...
- python写的battle ship小游戏 - 1.0
最近学python,这是今天写的一个小游戏. from random import randint class Board(object): board = [] def __init__(self, ...
- 三方贸易-drop ship
一.三方贸易的简单理解 三方贸易:即当客户向我方下达采购订单要求订购货物,我方再向供应商下达相同采购订单,并要求供应商直接送货至客户处的交易形式,待交易完成后,由供应商向我方开具应收票据,我方向客户开 ...
- Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship
Problem Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship Time Limit: 2000 mSec P ...
- [Swift]LeetCode1011. 在 D 天内送达包裹的能力 | Capacity To Ship Packages Within D Days
A conveyor belt has packages that must be shipped from one port to another within D days. The i-th p ...
- C. Magic Ship cf 二分
C. Magic Ship time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
随机推荐
- iOS开发系列--C语言之指针
概览 指针是C语言的精髓,但是很多初学者往往对于指针的概念并不深刻,以至于学完之后随着时间的推移越来越模糊,感觉指针难以掌握,本文通过简单的例子试图将指针解释清楚,今天的重点有几个方面: 什么是指针 ...
- Docker:Ubuntu下的安装
Docker是什么 Docker 是 Docker.Inc 公司开源的一个基于 LXC技术之上构建的Container容器引擎, 源代码托 管在 GitHub 上, 基于Go语言并遵从Apache2. ...
- ASP.NET Web API的Controller是如何被创建的?
Web API调用请求的目标是定义在某个HttpController类型中的某个Action方法,所以消息处理管道最终需要激活目标HttpController对象.调用请求的URI会携带目标HttpC ...
- Eclipse 常用快捷键 (动画讲解)
Eclipse有强大的编辑功能, 工欲善其事,必先利其器, 掌握Eclipse快捷键,可以大大提高工作效率. 编辑相关快捷键 注释 Ctrl + / 快速修复 Ctrl + ...
- xcode常见错误处理
问题:xcode 7编译错误:bitcode is not supported on versions of iOS prior to 6.0 解决:Build Options | Enable Bi ...
- 在usercontrol里实现导航
(Application.Current.RootVisual as PhoneApplicationFrame).Navigate(new Uri("/NewContent.xaml&qu ...
- v-if VS v-show
在vue实现轮播图效果 中分别用到 v-if和 v-show 下面讲讲我理解的他们的区别: v-if: 根据表达式的值的真假条件渲染元素.在切换时元素及它的数据绑定 / 组件被销毁并重建.如果元素是 ...
- AngularJS之代码风格36条建议【一】(九)
前言 其实在新学一门知识时,我们应该注意下怎么书写代码更加规范,从开始就注意养成一个良好的习惯无论是对于bug的查找还是走人后别人熟悉代码都是非常好的,利人利己的事情何乐而不为呢,关于AngularJ ...
- Objective-C中的深拷贝和浅拷贝
在Objective-C中对象之间的拷贝分为浅拷贝和深拷贝.说白了,对非容器类的浅拷贝就是拷贝对象的地址,对象里面存的内容仍然是一份,没有新的内存被分配.对非容器类的深拷贝就是重写分配一块内存,然后把 ...
- csapp2e-chapter2-homework
一 前言 看了csapp2e第二章,感觉讲的很透彻,理解了一些以前学组成原理没有学懂的东西.这章最让我感觉深刻的还是计算机是怎么实现c语言中的基本数据类型的表示和操作的,这对程序员理解程序无疑是帮助巨 ...