Problem O
were common, ferries were used to transport cars across rivers.
River ferries, unlike their larger cousins, run on a guide line and
are powered by the river's current. Cars drive onto the ferry from
one end, the ferry crosses the river, and the cars exit from the
other end of the ferry.
There is a ferry across the river that can take n cars across the
river in t minutes and return in t minutes. m cars arrive at the
ferry terminal by a given schedule. What is the earliest time that
all the cars can be transported across the river? What is the
minimum number of trips that the operator must make to deliver all
cars by that time?
of input contains c, the number of test cases. Each test case
begins with n, t, m. m lines follow, each giving the arrival time
for a car (in minutes since the beginning of the day). The operator
can run the ferry whenever he or she wishes, but can take only the
cars that have arrived up to that time.
case, output a single line with two integers: the time, in minutes
since the beginning of the day, when the last car is delivered to
the other side of the river, and the minimum number of trips made
by the ferry to carry the cars within that time. < br><
br>You may assume that 0 < n, t, m < 1440. The arrival
times for each test case are in non-decreasing order.
10
3
#include
#define maxn 1444
using namespace std;
int main()
{
//freopen("in.txt", "r", stdin);
int
c,t,n,m,wait_time[maxn],times=0,time=0,lost_car=0;
scanf("%d",&c);
for(int
i=0;i
{
time=times=0;
scanf("%d%d%d",&n,&t,&m);
//printf("n=%d t=%d m=%d\n",n,t,m);
for(int j=1;j<=m;j++)
scanf("%d",&wait_time[j]);
lost_car=m%n;
times=m%n?m/n+1:m/n;//最少运输的次数;
if(lost_car)
time=wait_time[lost_car]+t*2;
//printf("此时时间是%d\n",time);
for(int j=1;j<=m/n;j++)//总共运times次;
{
//printf("wait_time[j*n+lost_car]=%d\n",wait_time[j*n+lost_car]);
//printf("time=%d\n",time);
if(time
{
time+=2*t+(wait_time[j*n+lost_car]-time);
if(j==m/n)
time-=t;//最后一次不用回去了
}
else//现在有车了
{
time+=2*t;
if(j==m/n)
time-=t;//最后一次不用回去了
}
//printf("此时时间是%d\n",time);
}
printf("%d %d\n",time,times);
}
}
Problem O的更多相关文章
- 1199 Problem B: 大小关系
求有限集传递闭包的 Floyd Warshall 算法(矩阵实现) 其实就三重循环.zzuoj 1199 题 链接 http://acm.zzu.edu.cn:8000/problem.php?id= ...
- No-args constructor for class X does not exist. Register an InstanceCreator with Gson for this type to fix this problem.
Gson解析JSON字符串时出现了下面的错误: No-args constructor for class X does not exist. Register an InstanceCreator ...
- C - NP-Hard Problem(二分图判定-染色法)
C - NP-Hard Problem Crawling in process... Crawling failed Time Limit:2000MS Memory Limit:262144 ...
- Time Consume Problem
I joined the NodeJS online Course three weeks ago, but now I'm late about 2 weeks. I pay the codesch ...
- Programming Contest Problem Types
Programming Contest Problem Types Hal Burch conducted an analysis over spring break of 1999 and ...
- hdu1032 Train Problem II (卡特兰数)
题意: 给你一个数n,表示有n辆火车,编号从1到n,入站,问你有多少种出站的可能. (题于文末) 知识点: ps:百度百科的卡特兰数讲的不错,注意看其参考的博客. 卡特兰数(Catalan):前 ...
- BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MBSubmit: 4032 Solved: 1817[Submit] ...
- [LeetCode] Water and Jug Problem 水罐问题
You are given two jugs with capacities x and y litres. There is an infinite amount of water supply a ...
- [LeetCode] The Skyline Problem 天际线问题
A city's skyline is the outer contour of the silhouette formed by all the buildings in that city whe ...
- PHP curl报错“Problem (2) in the Chunked-Encoded data”解决方案
$s = curl_init(); curl_setopt($s, CURLOPT_POST, true); curl_setopt($s, CURLOPT_POSTFIELDS, $queryStr ...
随机推荐
- 如何解决conda install:command not found问题
每次运行conda相关代码之前先做一遍source ~/.bashrc.即可
- Linux Bash Shell字符串截取
#!/bin/bash#定义变量赋值时等号两边不能有空格,否则会报命令不存在 # 运行shell脚本两种方式 # 1.作为解释参数 /bin/sh test.sh ; 2.作为可执行文件 chmo ...
- 如何在linux下检测内存泄漏
之前的文章应用 Valgrind 发现 Linux 程序的内存问题中介绍了利用Linux系统工具valgrind检测内存泄露的简单用法,本文实现了一个检测内存泄露的工具,包括了原理说明以及实现细节. ...
- Centos7安装Percona5.7
OS: Centos7.0 DB: Percona5.7 1. 通过yum安装 ## 删除之前的mysql数据库, 我用的是centos7.再安装虚拟机的时候,预装了很多软件.所以mysql和mari ...
- Python单元测试框架
目录 概况 系统要求 使用PyUnit构建自己的测试 安装 测试用例介绍 创建一个简单测试用例 复用设置代码:创建固件 包含多个测试方法的测试用例类 将测试用例聚合成测试套件 嵌套测试用例 测试代码的 ...
- zoj 1884 简单 键盘 字符 处理
WERTYU Time Limit: 2 Seconds Memory Limit: 65536 KB A common typing error is to place the hands ...
- struts2中的结果视图类型
实际上在Struts2框架中,一个完整的结果视图配置文件应该是: <action name="Action名称" class="Action类路径" me ...
- 一步使你的asp.net网站在手机浏览器上全屏显示
首先要加入下面的代码: <meta name="viewport" content="width=device-width, initial-scale=1.0, ...
- 提取多层嵌套Json数据
在.net 2.0中提取这样的json {"name":"lily","age":23,"addr":{"ci ...
- Javascript 面向对象编程—封装
前 言 Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类) ...