HDU1050-Moving Tables

Moving Tables

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 19290    Accepted Submission(s): 6585

Problem Description

The famous ACM (Advanced Computer Maker) Company has rented a floor of a building whose shape is in the following figure.

The floor has 200 rooms each on the north side and south side along the corridor. Recently the Company made a plan to reform its system. The reform includes moving a lot of tables between rooms. Because
the corridor is narrow and all the tables are big, only one table can pass through the corridor. Some plan is needed to make the moving efficient. The manager figured out the following plan: Moving a table from a room to another room can be done within 10
minutes. When moving a table from room i to room j, the part of the corridor between the front of room i and the front of room j is used. So, during each 10 minutes, several moving between two rooms not sharing the same part of the corridor will be done simultaneously.
To make it clear the manager illustrated the possible cases and impossible cases of simultaneous moving.


For each room, at most one table will be either moved in or moved out. Now, the manager seeks out a method to minimize the time to move all the tables. Your job is to write a program to solve the manager’s
problem.

 

 

Input

The input consists of T test cases. The number of test cases ) (T is given in the first line of the input. Each test case begins with a line containing an integer N , 1<=N<=200 , that
represents the number of tables to move. Each of the following N lines contains two positive integers s and t, representing that a table is to move from room number s to room number t (each room number appears at most once in the N lines). From the N+3-rd
line, the remaining test cases are listed in the same manner as above.

 

 

Output

The output should contain the minimum time in minutes to complete the moving, one per line.

 

 

Sample Input

3

4

10 20

30 40

50 60

70 80

2

1 3

2 200

3

10 100

20 80

30 50

 

 

Sample Output

10

20

30

 

 

Source

Asia 2001,
Taejon (South Korea)

 

 

 

 

//思路:贪心算法,区间覆盖

1.区间覆盖

AC代码:

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct node
{
   int x,y;
}a[210];
int sum[210];
int main()
{
    int i,j,n,m,t,max;
    scanf("%d",&m);
    while(m--)
    {
       scanf("%d",&n);
       memset(sum,0,sizeof(sum));
       for(i=0;i<n;i++)
       {
          scanf("%d %d",&a[i].x,&a[i].y);
          a[i].x=(a[i].x+1)/2;
          a[i].y=(a[i].y+1)/2;
          if(a[i].x>a[i].y)//桌子可能从大房间号移到小房间号
          {
             t=a[i].x;
             a[i].x=a[i].y;
             a[i].y=t;
          }
          for(j=a[i].x;j<=a[i].y;j++)//覆盖区间
          sum[j]++;
       }
       sort(sum,sum+210);
       printf("%d\n",sum[209]*10);
    }
    return 0;
}

注意:

/*1 3

4 5

是20分钟

 

1 4

5 6

是10分钟*/

时间: 2024-09-22 02:32:06

HDU1050-Moving Tables的相关文章

phpMyAdmin v3.4.0-rc1发布 MySQL数据库管理工具

phpMyAdmin 是一个用PHP编写的,可以通过 web 方式控制和操作 MySQL 数据库.通过 phpMyAdmin 可以完全对数据库进行操作,例如建立.复制.删除数据等等.如果使用合适的工具,MySQL 数据库的管理就会为得相当简单.应用 MySQL 命令行方式需要对 MySQL 知识非常熟悉,对 SQL语言也是同样的道理.不仅如此,如果数据库的访问量很大,列表中数据的读取就会相当困难. 当前出现很多 GUI MySQL 客户程序,其中最为出色的是基于 Web 的 phpMyAdmin

Heaps of data: tables without clustered indexes

If you create a table on Adaptive Server, but do not create a clustered index, the table is stored as a heap. The data rows are not stored in any particular order. This section describes how select, insert, delete, and update operations perform on he

InnoDB 中文参考手册 --- InnoDB Tables 概述

参考|参考手册|中文 InnoDB 中文参考手册 --- 犬犬(心帆)翻译 1 InnoDB Tables 概述 InnoDB 给 MySQL 提供了具有事务(commit).回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表.InnoDB 提供了行锁(locking on row level),提供与 Oracle 类型一致的不加锁读取(non-locking re

算法题:UVA 10201 Adventures in Moving

Problem A: Adventures in Moving - Part IV To help you move from Waterloo to the big city, you are considering renting a moving truck. Gas prices being so high these days, you want to know how much the gas for such a beast will set you back. The truck

hdu 1213 How Many Tables ([kuangbin带你飞]专题五 并查集)

点击打开链接 C - How Many Tables Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 1213 Description Today is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. Ignatius wants to know

Moving to Docker(二)搭建一个私有registry服务

本文讲的是Moving to Docker(二)搭建一个私有registry服务,[编者的话]本文是<Moving to Docker>系列的第二篇,这个系列的文章讲述了创业公司如何把基础服务迁移到Docker上,以及迁移过程中的经验教训.本文主要介绍了如何安装.测试和使用私有registry服务,其中也包含了从DigitalOcean选VPS和注册Amazon S3服务. 这是迁移到Docker系列的第二篇,整个系列都是介绍我们公司是如何把基础设施从PaaS迁移到Docker的. 第一篇:介

mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user &#039;root&#039;@&#039;localhost&#039; for table &#039;accounts&#039; when using LOCK TABLES

AutoMySQLBackup备份时,出现mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts' when using LOCK TABLES错误,具体内容如下所示 [root@DB-Server ~]# /usr/bin/automysqlbackup /etc/automysqlbackup/myserver.conf Pars

如何利用DataSet.Tables 获取想要的参数

问题描述 小弟请教:帮朋友程序加2个页面这2个页面是从数据库查询一些需要的数据给前台分页显示如图:后台页面获取数据集合代码如下:BLL.OrderCarddal=newOrderCard();DataSetpageData=dal.PageSearch(listParam,20,1,orderby);this.rptOrders.DataSource=pageData.Tables[1];this.rptOrders.DataBind();获取数据库数据集合如下:如何提取比如:神州行卡统计数据如

c# winform sql-MyDataSet.Tables[0].Rows.Count =0

问题描述 MyDataSet.Tables[0].Rows.Count =0 conn.Open();//打开数据库 //用于填充DataSet和更新SQL数据库及其一个连接 SqlDataAdapter MyAdapter = new SqlDataAdapter(sqlStrconn); //定义一个缓存 DataSet MyDataSet = new DataSet(); //清空缓存 MyDataSet.Clear(); ------这个地方就为0 //将MyAdapeter获取的数据添