hdoj Moving Tables 1050 (DP) 坑!坑!坑!

原创 2015年11月19日 13:42:07

Moving Tables

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


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
 
#include<stdio.h>
int a[210];
int main()
{
	int t,T,n,m,i,j;
	int x,y;
	scanf("%d",&T);
	while(T--)
	{
		memset(a,0,sizeof(a));
		scanf("%d",&n);
		int mm=0;		
		while(n--)
		{
			scanf("%d%d",&x,&y);			
			x=(x-1)/2;
			y=(y-1)/2;
			if(x>y)
			{
				t=x;x=y;y=t;
			}
			for(i=x;i<=y;i++)
				a[i]++;
		}
		for(i=0;i<200;i++)
			if(a[i]>mm)
				mm=a[i];
		printf("%d\n",mm*10);
	}
	return 0;
}

//这是第一次写的,一直WA!WA!WA!,不知为何
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define N 1010
using namespace std;
struct zz
{
	int l;
	int r;
}q[N];
int b[N];
int cmp(zz a,zz b)
{
	if(a.l==b.l)
		return a.r<b.r;
	return a.l<b.l;
}
int main()
{
	int n,t,i,j,mm,s;
	int x,y;
	scanf("%d",&t);
	while(t--)
	{
		memset(q,0,sizeof(q));
		scanf("%d",&n);
		for(i=0;i<n;i++)
		{
			scanf("%d%d",&x,&y);
			if(x>y)
			{
				s=x;x=y;y=s;
			}
			if(x&1)
				q[i].l=(x+1)/2;
			else
				q[i].l=x/2;
			if(y&1)
				q[i].r=(y+1)/2;
			else
				q[i].r=y/2;
		}
		sort(q,q+n,cmp);
		mm=10;
		for(i=1;i<n;i++)
		{
			if(q[i].l<=q[i-1].r)
				mm+=10;
		}
		printf("%d\n",mm);
	}
	return 0;
}

使用git遇到的坑

在github上面已经上传过不少代码了,虽然关注的人很少,我还是低调的做着这件事情。这个也见证了我学习之路。 但是对于使用git命令还是一知半解,这里只是总结我所遇到过的坑…. 1、git上传代码...
  • u011521890
  • u011521890
  • 2016年05月18日 16:17
  • 528

Java中常见的坑

原创:http://it.deepinmind.com/java/2014/03/06/Java%E4%B8%AD%E5%B8%B8%E8%A7%81%E7%9A%84%E5%9D%91.html ...
  • yb493071294
  • yb493071294
  • 2014年03月08日 14:16
  • 487

那些年踩过的CSS坑(永久更新)

1、img 标签中的alt 与title的区别: alt  alt属性的实质作用是在图片无法正确显示时起到文本替代的作用,不过在IE6下还起到了title的作用。 title 鼠标滑过时显示的文字提示...
  • x_chengqq
  • x_chengqq
  • 2016年04月22日 21:11
  • 875

java中遇到的坑

1.除0 代码:   Java代码   System.out.println(1.0d / 0);   System.out.println(0.0d / 0);   System.ou...
  • u011203602
  • u011203602
  • 2015年12月08日 14:26
  • 1566

那些年踩过的mysql的坑

那些年踩过的mysql的坑 锁机制带来的锁死 一 不是通过主键来删除,而是通过其他的字段来删除,那么会导致表级锁,其他insert无法操作。 二 update 的时候,也会有锁表的情况,同...
  • gningh
  • gningh
  • 2016年11月25日 19:13
  • 759

hdu 1050 Moving Tables(贪心经典,踩坑全集)

题目地址:点击打开链接 /*真tm的踩了无数坑,没数据真过不了*/ #include struct{ int x,y; int flag; }node[5005]; main(...
  • qq_33997572
  • qq_33997572
  • 2017年06月11日 20:43
  • 44

Socket所遇到的坑

本文记录使用Socket通信时所遇到坑,不断更新。目前记录三个问题: 建立Socket连接 使用输入流和输出流进行通信 使用心跳保持Socket连接 建立Socket连接Socket连接需要一个Ser...
  • Bingtang_blog
  • Bingtang_blog
  • 2017年03月07日 21:36
  • 525

面试题中的坑点

现在是面试的黄金时期,诸多同道中人,和刚毕业的大学生,亦或是(....),hehe 大家懂的! 会面临一些面试时的坑,今天就跟大家分享一位同学所遇到的坑。 下面是一位同学在面试的时候遇到的问题,代码如...
  • qq_23315711
  • qq_23315711
  • 2017年03月01日 09:13
  • 306

前端总结:踩过的坑以及一些冷知识

主要是指css样式这一块。1、行内元素(比如img)默认会在末尾留白,无法去除。只能通过display:block;让其以块级元素进行显示。...
  • linysuccess
  • linysuccess
  • 2016年12月02日 10:56
  • 486

c/c++ 开发中常见的坑

总结一下自己遇到的坑,吸取教训,避免第二次、第三次在同一个地方扑街。 语言类 变量初始化问题 众所周知,局部变量在函数调用开始时创建,函数调用完成返回时“销毁”。值得注意的是,这里根本没有所谓...
  • youyoushang
  • youyoushang
  • 2015年11月25日 10:46
  • 1240
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdoj Moving Tables 1050 (DP) 坑!坑!坑!
举报原因:
原因补充:

(最多只允许输入30个字)