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

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

次数*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. 页面关闭或刷新时触发javascript的事件

    当页面在关闭或刷新时提示 window.onbeforeunload(function(){ //判断是关闭还是刷新 1.满足关闭,否则是刷新 if(event.clientX>document ...

  2. 原生ajax的请求过程

    原生ajax的请求过程 创建全平台兼容的XMLHttpRequest对象: function getXHR(){ var xhr = null; if(window.XMLHttpRequest) { ...

  3. Mysql学习总结(34)——Mysql 彻底解决中文乱码的问题

    mysql 中常常出现对中文支持不友好的情况 常见的错误 "Illegal mix of collations for operation" 下面我们规整一下 mysql 数据库中 ...

  4. KindEditor 上传图片浏览器兼容性问题

    1.使用 KindEditor 的图片上传插件时,需要返回如下格式的 JSON 数据 //成功时 { "error" : 0, "url" : "ht ...

  5. IBASE4J开发环境搭建

    1.修改STS默认编码,Window > Perference > General > Workspace,将 text file encoding 设置为 UTF-8 2.打开 G ...

  6. ACdream 1127(Base Station-树状数组-2个约束条件)

    Base Station Time Limit: 20000/10000MS (Java/Others)Memory Limit: 512000/256000KB (Java/Others) Subm ...

  7. 剑指offer_面试题_从上往下打印二叉树

    题目:从上往下打印出二叉树的每一个结点.同一层的结点依照从左到右的顺序打印.比如输入图4.5中的二叉树.则依次打印出8.6.10.5.7.9.11. 8 /     \ 6     10 /   \ ...

  8. 【LeetCode-面试算法经典-Java实现】【168-Excel Sheet Column Title(Excell列标题)】

    [168-Excel Sheet Column Title(Excell列标题)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Given a positive in ...

  9. vue 组件之间的传值

    父向子传值父组件 <v-footer :projectdat="dat"></v-footer> export default { data() { ret ...

  10. ie浏览器下get方式获取数据无效问题

    在ie浏览器用get方式获取数据时因为发送得到参数地址都是一样的,所以浏览器会优先从缓存获取数据,而不去服务器请求数据,post由于参数不同所以不会影响. 解决方法: 1.  Internet选项-- ...