http://poj.org/problem?id=1275

黑书上详解

今天犯了2了 交了十几次 查错查了几个小时 最后与别人的代码比对 输入有问题 n是组数 受不了

View Code

 1 #include <iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<stdlib.h>
 5 #include<queue>
 6 #define INF 0x3f3f3f
 7 using namespace std;
 8 int n,m,g,t[30],r[30],ans,dis[50];
 9 struct node
10 {
11     int u,v,w;
12 }e[2100];
13 int bellford()
14 {
15     int i,j,flag;
16     for(i = 1; i <= 24 ; i++)
17      dis[i] = INF;
18     dis[0] = 0;
19     for(i = 0; i <= 25 ; i++)
20     {
21         flag = 0;
22         for(j = 1; j <= g ; j++)
23         {
24             if(dis[e[j].v]>dis[e[j].u]+e[j].w)
25             {
26                 dis[e[j].v] = dis[e[j].u]+e[j].w;
27                 flag = 1;
28             }
29         }
30         if(!flag)
31         return 1;
32     }
33     return 0;
34 }
35 void add(int u,int v,int w)
36 {
37     g++;
38     e[g].u = u;
39     e[g].v = v;
40     e[g].w = w;
41 }
42 int main()
43 {
44     int i,j,a,sum;
45     cin>>n;
46     while(n--)
47     {
48         g = 0;
49         memset(t,0,sizeof(t));
50         for(i = 1; i <= 24 ; i++)
51         {
52             cin>>r[i];
53         }
54         cin>>m;
55         for(i = 1; i <= m;i++)
56         {
57             cin>>a;
58             t[a+1]++;
59         }
60         for(i = 1; i <= 24 ;i++)
61         {
62             add(i-1,i,t[i]);
63             add(i,i-1,0);
64         }
65        for(sum = 0; sum <= m ; sum++)
66         {
67             g = 48;
68             for(i=1;i<=16;i++)
69                add(i+8,i,-r[i+8]);
70             for(i=17;i<=24;i++)
71                add(i-16,i,sum-r[i-16]);
72             add(24,0,-sum);
73             if(bellford())
74             {
75                 cout<<sum<<endl;
76                 break;
77             }
78         }
79         if(sum==m+1) printf("No Solution\n");
80     }
81     return 0;
82 }

转载于:https://www.cnblogs.com/shangyu/archive/2013/03/13/2958209.html

pojCashier Employment相关推荐

  1. POJ1275Cashier Employment(查分约束系统)

    链接1275Cashier Employment 题目大意就是说有一些人来应聘一个超级市场的工作,每个人的应聘的起始时间在0~23时之间,而超市在时间i需要R[i]个工作人员,而每个人的工作时间都是8 ...

  2. HDU Employment Planning

    Employment Planning Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) ...

  3. 求职信 (application for employment)

    求职信 (application for employment) 例1 Dear Sirs, I am a graduate from JiLin University of Foreign Lang ...

  4. python画三维几何图形拼成的图案_The discovery of oil _______ in an era of employment and prosperity....

    [单选题]若点 ,直线 ,则点M与平面α之间的关系是 [判断题]增大墙体材料的厚度可以降低墙体的传热量. [简答题]指出错误:中国女排不负众望,成功卫冕冠军. [判断题]The destruction ...

  5. Employment

    EMPLOYMENT - WORKVocabulary  

  6. POJ1275-Cashier Employment【差分约束系统】

    正题 题目链接:http://poj.org/problem?id=1275 题目大意 1∼241\sim 241∼24小时中第iii个小时需要rir_iri​个出纳员 有nnn个人应聘,第iii从x ...

  7. 【POJ - 1275】Cashier Employment(差分约束,建图)

    题干: A supermarket in Tehran is open 24 hours a day every day and needs a number of cashiers to fit i ...

  8. zoj 1454 Employment Planning

    [题解]: [代码]: 1 #include <iostream> 2 #include <string.h> 3 #include <stdio.h> 4 #in ...

  9. HDU 1158 Employment Planning【DP】

    题意:给出n个月,雇佣一个人所需的钱hire,一个人工作一个月所需要的钱salary,解雇一个人所需要的钱fire,再给出这n个月每月1至少有num[i]个人完成工作,问完成整个工作所花费的最少的钱是 ...

  10. 【差分约束】 HDOJ 1529 Cashier Employment

    引用一下POJ的discuss里的大牛的解释. 详细解释一下. 为避免负数,时间计数1-24.令: R[i] i时间需要的人数 (1<=i<=24) T[i] i时间应聘的人数 (1< ...

最新文章

  1. python的日志库logging,真香!!!
  2. Hadoop streaming: Exception in thread main java.io.IOException: No space left on device
  3. python读取word文件并替换部分文字_python实现替换word中的关键文字(使用通配符)...
  4. javascript权威指南——笔记(第十章:正则)
  5. android 获取monkey日志_安卓app测试之Monkey日志分析
  6. CenterNet+ deepsort实现多目标跟踪
  7. 优秀网页案例教你如何排好内容页
  8. AcWing1069.凸多边形的划分(区间DP)题解
  9. Linux下的压缩和解压缩命令——compress/uncompress
  10. 【项目总结】订单性质识别
  11. ROS1云课→22机器人轨迹跟踪
  12. 如何申请一个教育邮箱
  13. 文章阅读 - 机器学习检测DNS隧道
  14. 计算机控制实验ppt模板,计算机控制技术实验课件.ppt
  15. dsp版win10和普通版区别_Win10和 Windows10版本区别是什么?
  16. 硬件知识:台式电脑主机各种接口介绍
  17. flutter引入高德地图_flutter配置高德地图SDK
  18. HBuilder 使用教程
  19. 光和颜料中的三原色,美术中的三原色
  20. week15作业A ZJM 与霍格沃兹

热门文章

  1. 高质量的用户体验 推进IT运维向业务服务转变——中国移动通信集团公司
  2. load data infile 补充
  3. iOS简单实现查看更多/收起的效果[最新]
  4. 重装了新版IDEA,但我之前的个人配置全丢了,太烦了!
  5. Java和C长期霸权结束
  6. 还在手写 Nginx 配置?试试这款可视化配置神器,太强了!
  7. Java程序员排行前10的错误,请注意!
  8. 全球IPv4地址正式耗尽!
  9. 放假前的最后一篇文章
  10. 从0开始学习 GitHub 系列之「团队合作利器 Branch」 1