poj3211
Time Limit: 1000MS | Memory Limit: 131072K | |
Total Submissions: 9654 | Accepted: 3095 |
Description
Dearboy was so busy recently that now he has piles of clothes to wash. Luckily, he has a beautiful and hard-working girlfriend to help him. The clothes are in varieties of colors but each piece of them can be seen as of only one color. In order to prevent the clothes from getting dyed in mixed colors, Dearboy and his girlfriend have to finish washing all clothes of one color before going on to those of another color.
From experience Dearboy knows how long each piece of clothes takes one person to wash. Each piece will be washed by either Dearboy or his girlfriend but not both of them. The couple can wash two pieces simultaneously. What is the shortest possible time they need to finish the job?
Input
The input contains several test cases. Each test case begins with a line of two positive integers M and N (M < 10, N < 100), which are the numbers of colors and of clothes. The next line contains M strings which are not longer than 10 characters and do not contain spaces, which the names of the colors. Then follow N lines describing the clothes. Each of these lines contains the time to wash some piece of the clothes (less than 1,000) and its color. Two zeroes follow the last test case.
Output
For each test case output on a separate line the time the couple needs for washing.
Sample Input
- 3 4
- red blue yellow
- 2 red
- 3 blue
- 4 blue
- 6 red
- 0 0
Sample Output
- 10
Source
时间限制:1000毫秒 | 内存限制:131072 k | |
总提交:9654年 | 接受:3095年 |
描述
Dearboy最近太忙了,现在他有一大堆衣服要洗。幸运的是,他有一个漂亮的和勤奋的女朋友去帮助他。品种的衣服颜色但每一块可以被看作是只有一种颜色。为了防止衣服染色在混合颜色,Dearboy和他的女友不得不洗完所有的衣服一个颜色之前的另一种颜色。
从经验Dearboy知道每件衣服需要多久一个人洗。每一块将被清洗Dearboy或女友但不是他们两人。这对夫妇可以同时洗两块。什么是他们所需要的最短的时间内完成这项工作吗?
输入
输入包含多个测试用例。每个测试用例开始于一条线的两个正整数M和N(M < 10 N < 100),衣服的颜色和数量。下一行包含字符串不超过10个字符,不含空格,这颜色的名称。然后描述衣服的N行。文件中的每一行包含的时间洗一些衣服(小于1000)和它的颜色。两个0跟随最后一个测试用例。
输出
为每个测试用例输出一个单独的行上这对夫妇需要清洗的时间。
样例输入
- 3 4
- red blue yellow
- 2 red
- 3 blue
- 4 blue
- 6 red
- 0 0
样例输出
- 10
源

- #include<cstdio>
- #include<cstring>
- #include<iostream>
- using namespace std;
- struct node{
- int t;
- char c[];
- }col[];
- char color[][];
- int n,m,ans,sum[],f[];
- int main(){
- while(scanf("%d%d",&m,&n)==){
- if(!n||!m) break;
- memset(sum,,sizeof sum);
- for(int i=;i<=m;i++) scanf("%s",color[i]);
- for(int i=;i<=n;i++){
- scanf("%d%s",&col[i].t,col[i].c);
- for(int j=;j<=m;j++){
- if(!strcmp(col[i].c,color[j])){
- sum[j]+=col[i].t;break;//统计同一种颜色衣服的件数
- }
- }
- }
- ans=;
- for(int i=;i<=m;i++){//求标记为i的颜色的时间
- for(int j=;j<=sum[i]>>;j++) f[j]=;
- for(int j=;j<=n;j++){
- if(!strcmp(col[j].c,color[i])){
- for(int v=sum[i]>>;v>=col[j].t;v--){
- f[v]=max(f[v],f[v-col[j].t]+col[j].t);
- }
- }
- }
- ans+=sum[i]-f[sum[i]>>];
- }
- printf("%d\n",ans);
- }
- return ;
- }
poj3211的更多相关文章
- POJ3211 Washing Clothes[DP 分解 01背包可行性]
Washing Clothes Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 9707 Accepted: 3114 ...
- poj3211 Washing Clothes
Description Dearboy was so busy recently that now he has piles of clothes to wash. Luckily, he has a ...
- POJ3211(trie+01背包)
Washing Clothes Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 9384 Accepted: 2997 ...
- POJ3321Apple Tree[树转序列 BIT]
Apple Tree Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 26995 Accepted: 8007 Descr ...
- poj 01背包
首先我是按这篇文章来确定题目的. poj3624 Charm Bracelet 模板题 没有要求填满,所以初始化为0就行 #include<cstdio> #include<algo ...
- poj3211Washing Clothes(字符串处理+01背包) hdu1171Big Event in HDU(01背包)
题目链接: id=3211">poj3211 hdu1171 这个题目比1711难处理的是字符串怎样处理,所以我们要想办法,自然而然就要想到用结构体存储.所以最后将全部的衣服分组,然 ...
随机推荐
- Redis基本操作-20150608
Redis基本操作-20150608 [http://my.oschina.net/u/241255/blog/206991] Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存 ...
- Oracle中decode方法的作用
DECODE(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) 该函数含义如下: IF 条件=值1 THEN RETURN (翻译值1) ELSIF 条件=值2 THEN ...
- SQL with(unlock)与with(readpast) (转)
所有Select加 With (NoLock)解决阻塞死锁,在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAS ...
- 【M29】引用计数
1.引用计数这项技术,是为了让等值对象对象共享同一实体.此技术的发展有两个动机:a.记录堆上分配的对象,是垃圾回收机制的简单原理:b.节省内存,多个对象具有相同的值,存储多次很笨.速度更快,等值对象避 ...
- 10 个基于 jQuery 的 Web 交互插件推荐
英文原文:10 jQuery for Web Interaction Plugins “用户交互”在现代的 Web 设计中占据了很大比例,这是互联网产品不可或缺的关键,对 Web 设计师也提出了更高的 ...
- 树链剖分||dfs序 各种题
1.[bzoj4034][HAOI2015]T2 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把 ...
- .NET程序性能的基本要领
前几天在老赵的博客上看到,Bill Chiles (Roslyn 编译器的Program Manager)写了一篇文章叫做<Essential Performance Facts and .NE ...
- [Node.js] Broswerify -- 1
Browserify is a tool that brings node.js style development to the browser. The thing you can see on ...
- centos 服务器配置(二) 之ftp配置
Centos配置vsftpd服务器 1.通过yum来安装vsftpd [root@localhost ~]# yum -y install vsftpd 加-y是因为出现提示默认直接按Y.这里yum安 ...
- Tcsh脚本编程
Tcsh主要用于Free BSD等UNIX系统中. 一.输出字符串Hello的示例脚本 Tcsh脚本的基本格式.编写方法及脚本中使用的命令等,与Bash脚本完全相同,只需要直接套用即可. [root@ ...