把房间号映射在一条坐标上,然后排序,最后找从左到右找一次可行的计划,最后找从左到右找一次可行的计划,最后找从左到右找一次可行的计划,最后找从左到右找一次可行的计划,

............

次数*10就是答案

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
struct node
{
int s,e;
};
istream & operator >>(istream &is,node &a)
{
is>>a.s>>a.e;
return is;
}
bool cmp(node a,node b)
{
return a.s!=b.s?a.s<b.s:a.e<b.e;
}
int cg(int x)
{
return x&1?(x+1)>>1:x>>1;
}
int main()
{
// freopen("in","r",stdin);
bool vis[210];
int T,i,j,n,ans;
node box[210];
node p;
cin>>T;
while(T--)
{
cin>>n;
for(i=0;i<n;i++)
{
cin>>box[i];
box[i].s=cg(box[i].s);
box[i].e=cg(box[i].e);
if(box[i].s>box[i].e)
swap(box[i].s,box[i].e);
}
ans=0;
memset(vis,0,sizeof(vis));
sort(box,box+n,cmp);
for(i=0;i<n;i++)
{
if(vis[i])
continue;
ans+=10;
p=box[i];
for(j=i+1;j<n;j++)
{
if(vis[j])
continue;
if(box[j].s>p.e||box[j].e<p.s)
{
vis[j]=1;
p=box[j];
}
}
}
cout<<ans<<endl;
}
return 0;
}

mous ACM (Advanced Computer Maker) Company has rented a floor ofa building whose shape is inthe following figure.


The floor has 200 rooms each on the north side and south side along thecorridor. Recently the Companymade a plan to reform its system. The reform includes moving a lot oftables between rooms. Because thecorridor is narrow and all the tables are big, only one
table can passthrough the corridor. Some plan is neededto make the moving efficient. The manager figured out the followingplan: Moving a table from a room toanother room can be done within 10 minutes. When moving a table fromroomi
to room j, the part of thecorridor between the front of room i
and the front of room jis used. So, during each 10 minutes, severalmoving between two rooms not sharing the same part of the corridor willbe done simultaneously. To make itclear the manager illustrated the possible cases and impossible casesof simultaneous
moving.

  Table moving Reason
Possible ( room 30 to room 50) and (room60 to room 90) no part of corridor is shared
(room 11 to room 12) and (room14 to room 13) no part of corridor is shared
Impossible (room 20 to room 40) and (room31 to room 80) corridor in front of room 31 toroom 40 is shared
(room 1 to room 4) and (room 3to room 6) corridor in front of room 3 isshared
(room 2 to room 8) and (room 7to room 10) corridor in front of room 7 isshared

For each room, at most one table will be either moved in or moved out.Now, the manager seeks out a methodto minimize the time to move all the tables. Your job is to write aprogram 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 file. Eachtest case begins with a line containing an integerN
, 1<=N<=200 , that represents thenumber of tables to move.Each of the followingN
lines contains two positive integers sand t, representing that a table is to move fromroom numbers
to room number t (each room numberappears at most once in theN
lines). From the N+3-rdline, the remaining test cases are listed in the same manner as above.

Output

The output should contain the minimum time in minutes to complete themoving, 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

uva live 2326 - Moving Tables的更多相关文章

  1. uvalive 2326 - Moving Tables(区间覆盖问题)

    题目连接:2326 - Moving Tables 题目大意:在一个走廊上有400个教室, 先在有一些桌子要移动, 每次移动需要十分钟, 但是不同房间的桌子可以在同一个十分钟内移动,只要走廊没有被占用 ...

  2. UVAlive 2326 Moving Tables(贪心 + 区间问题)

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

  3. zstu.2512. Moving Tables(贪心)

     Moving Tables Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 1182  Solved: 563 Description The famo ...

  4. Moving Tables(贪心或Dp POJ1083)

    Moving Tables Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 28304   Accepted: 9446 De ...

  5. HDOJ 1050 Moving Tables

    Moving Tables Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  6. 1050 Moving Tables

    Moving Tables Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  7. Moving Tables

    Moving Tables Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total ...

  8. hdoj 1050 Moving Tables【贪心区间覆盖】

    Moving Tables Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  9. HDU1050(Moving Tables:贪心算法)

    解题思路: 这种做法是基于hdu2037的做法上考虑的,找出所有可以同时搬运的桌子,然后就很方便求出最短总时间. 还有一种更简单的做法是直接遍历一遍找出与别的重复次数最多的那片区域,重复次数*10就可 ...

随机推荐

  1. nyoj 1189 yougth和他的朋友们 (DP)

    题目:pid=1189" target="_blank">nyoj 1189 yougth和他的朋友们 这题目是14年北京赛区的原题.讲题的时候说有三种解法,我们是 ...

  2. [CSS3] CSS Background Images

    Body with background image and gradient html { background: linear-gradient(#000, white) no-repeat; h ...

  3. Android-Universal-Image-Loader学习笔记(3)--内存缓存

    前面的两篇博客写了文件缓存.如今说说Android-Universal-Image-Loader的内存缓存.该内存缓存涉及到的类如图所看到的 这些类的继承关系例如以下图所看到的: 如同文件缓存一样,内 ...

  4. java语言中的多态概述

    多态:一个对象相应着不同类型 多态在代码中的体现:父类或接口的引用指向其子类对象. 多态的优点: 提高了代码的扩展性,前期定义的代码能够使用后期的内容. 多态的弊端: 前期定义的内容不能使用后期子类中 ...

  5. Unsupported major.minor version 51.0问题的解决

    在java编程的过程中,当用myeclipse软件打开别人写的代码时,遇到Unsupported major.minor version 51.0此类问题,实在是令人痛苦不堪.弄了整整一晚才搞清楚,我 ...

  6. linux 下的文件搜索、可执行文件搜索

    1. whereis 与 which 速度快,只是模糊查询,例如查询 $ whereis mysql,则会将mysql, mysql.ini, mysql*所在的目录都找出来: whereis 查看的 ...

  7. vuejs2.0 文档

    http://vuejs.org/   vuejs2.0 英文文档 https://vuefe.cn/    vuejs2.0 中文文档

  8. hexo博客谷歌百度收录踩坑日记

    title: hexo博客谷歌百度收录踩坑日记 toc: false date: 2018-04-17 00:09:38 百度收录文件验证 无论怎么把渲染关掉或者render_skip都说我的格式错误 ...

  9. java.lang.NoClassDefFoundError: org/springframework/dao/support/PersistenceE解决方法

    笔者是使用spring4.0时,报的错误: 原因是没有引入spring-tx-4.0.0.RELEASE.jar包,將spring-tx-4.0.0.RELEASE.jar添加到build path中 ...

  10. Struts2.3.16.1+Hibernate4.3.4+Spring4.0.2 框架整合(转)

    原文  http://blog.csdn.net/songanling/article/details/22454973 最新版Struts2+Hibernate+Spring整合     目前为止三 ...