渡轮问题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 ...
随机推荐
- Microsoft Azure Web Sites应用与实践【2】—— 通过本地IIS 远程管理Microsoft Azure Web Site
Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...
- 纯命令行的编辑利器:用好 awk 与 sed
awk 的基本语法 awk 是模式查找与处理语言,是文本处理的利器.使用 awk 可以只用一条简单的命令完成复杂的文本数据处理. awk 命令的基本结构为: awk '模式 {处理}' 文件 比如,打 ...
- Functional Programming without Lambda - Part 2 Lifting, Functor, Monad
Lifting Now, let's review map from another perspective. map :: (T -> R) -> [T] -> [R] accep ...
- EF:oracle的number类型映射为C#的boolean类型
一开始用下面的方法映射, Property(p => p.IsFixed).HasColumnName("IS_FIXED").HasColumnType("num ...
- 关于angularjs中的jQuery
关于angularjs中的jQuery 下面是一个小例子,用来说明我经常看到的一种模式.我们需要一个开关型的按钮.(注意:这个例子的代码有点装逼,并且有点冗长,只是为了用来代表更加复杂一些的例子,这些 ...
- 由ArcMap属性字段自增引出字段计算器使用Python的技巧
1.前言 前些日子有人问我ArcMap中要让某个字段的值实现自增有什么方法?我首先想到像SQL Server中对于数值型字段可以设置自增.所以我打开ArcCatalog查看发现只提供默认值 ...
- 【.NET深呼吸】存储基于本地线程的值
在特定情况,我们希望这样一个场景: N个线程同时调用同一个类实例的同一个操作方法,并且同一个变量可以面向每一个线程存储独立的值.比如,某变量X,它对于线程A的值与对于线程B的值是相互独立的.线程A设置 ...
- OpenCascade Chinese Text Rendering
OpenCascade Chinese Text Rendering eryar@163.com Abstract. OpenCascade uses advanced text rendering ...
- js动态给当前点击元素添加css类
1.页面:
- Mac OS apache php配置
1.进入Apache配置文件sudo vi /etc/apache2/httpd.conf 找到#LoadModule php5_module libexec/apache2/libphp5.s ...