zoukankan      html  css  js  c++  java
  • 洛谷P1065 作业调度方案 模拟

    这题向我说明了读题目的重要性
    这题题目有一个坑点 1 1 2 3 3 2
    比如说这组样例 工件1 一定要在 第一道工序中是最先开始的,
    然后 1也一定要在第二组工序中最先开始的
    但是,工件3的第一道工序却可以先于 1 的第二道工序完成
    因为只是相同工序中首先完成

     1 #include <cstdio>
     2 #include <cmath>
     3 #include <cstdlib>
     4 #include <cstring>
     5 #include <algorithm>
     6 #include <iomanip>
     7 #include <iostream> 
     8 using namespace std  ;
     9 
    10 int i,j,k,m,n,tmp1,tmp2,tmpm,ans ;
    11 int what[21][21],t[21][21],a[411],cnt[21],last_[21] ;
    12 bool rec[21][8001] ; 
    13 
    14 int main() 
    15 {
    16     scanf("%d%d",&m,&n) ;
    17     for(i=1;i<=n*m;i++) scanf("%d",&a[ i ]) ; 
    18     for(i=1;i<=n;i++) 
    19         for(j=1;j<=m;j++) 
    20             scanf("%d",&what[ i ][ j ]) ; 
    21     for(i=1;i<=n;i++) 
    22         for(j=1;j<=m;j++) 
    23             scanf("%d",&t[ i ][ j ]) ; 
    24     for(i=1;i<=n*m;i++) 
    25     {
    26         cnt[a[ i ]]++ ;
    27         int tmp1 = a[ i ],tmp2 = cnt[ a[i] ] ;  // tmp1  哪个工件   tmp2  哪个工序  
    28         int tmpm = what[ tmp1 ][ tmp2 ] ;       //用哪个机器 
    29         for(j=last_[tmp1];;j++) 
    30         {
    31             bool flag = 1 ;
    32             for(k=j+1; k<=j+t[tmp1][tmp2] ;k++) 
    33                 if(rec[tmpm][k]) 
    34                 {
    35                     flag = 0 ;
    36                     break ; 
    37                 }
    38             if(flag) 
    39             {
    40                 for(k=j+1; k<=j+t[tmp1][tmp2]; k++ ) 
    41                     rec[tmpm][k] = 1 ; 
    42                 last_[tmp1] = max(last_[tmp1],j+t[tmp1][tmp2]) ; 
    43                 ans = max(ans,last_[tmp1] ) ;
    44                 break ; 
    45             }
    46         }
    47     }
    48     printf("%d
    ",ans) ; 
    49     
    50     return 0 ; 
    51 }
  • 相关阅读:
    DBSCAN 聚类分析
    常见空间聚类算法优劣概述
    最佳实践 —— 单元测试
    C/C++ 混合编程
    映射网络路径
    时间服务器/时间同步配置
    取出根路径
    PS Studio调用.exe输出错误信息的解决办法
    远程重启IIS服务
    浏览打开窗口,打开运行窗口,文件夹
  • 原文地址:https://www.cnblogs.com/third2333/p/6909154.html
Copyright © 2011-2022 走看看