Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何在剧院中为2d阵列找到最佳座位安排_Arrays_Algorithm_Data Structures_2d_Best Fit - Fatal编程技术网

Arrays 如何在剧院中为2d阵列找到最佳座位安排

Arrays 如何在剧院中为2d阵列找到最佳座位安排,arrays,algorithm,data-structures,2d,best-fit,Arrays,Algorithm,Data Structures,2d,Best Fit,你经营一家小剧院,每个月都有顾客邮寄预售票的申请。您需要处理这些购票请求,并告诉他们团队将坐在哪里,或者向顾客解释您无法完成订单的原因 您在填写订单时需要遵守以下几条规则: 尽可能多地填写订单 让派对尽可能靠近前线 如果剧院里没有足够的座位来处理聚会,告诉他们“对不起,我们不能处理你的聚会。” 每一方必须坐在同一个区域的同一排。如果他们不适合,告诉他们“呼叫分裂党” 您的程序必须解析剧院布局和票证请求列表,并按照与请求相同的顺序生成票证列表或解释 剧院布局由1行或多行组成。每行由1个或多个部分组

你经营一家小剧院,每个月都有顾客邮寄预售票的申请。您需要处理这些购票请求,并告诉他们团队将坐在哪里,或者向顾客解释您无法完成订单的原因

您在填写订单时需要遵守以下几条规则:

  • 尽可能多地填写订单
  • 让派对尽可能靠近前线
  • 如果剧院里没有足够的座位来处理聚会,告诉他们“对不起,我们不能处理你的聚会。”
  • 每一方必须坐在同一个区域的同一排。如果他们不适合,告诉他们“呼叫分裂党”
  • 您的程序必须解析剧院布局和票证请求列表,并按照与请求相同的顺序生成票证列表或解释

    剧院布局由1行或多行组成。每行由1个或多个部分组成,每个部分之间用空格隔开

    剧院布局后,有一个空行,后面跟着一个或多个剧院请求。剧院请求由名称、空格和请求的门票数量组成

    样本输入:

    6 6
    3 5 5 3
    4 6 6 4
    2 8 8 2
    6 6
    
    Smith 2
    Jones 5
    Davis 6
    Wilson 100
    Johnson 3
    Williams 4
    Brown 8
    Miller 12
    
    您的程序必须以与请求相同的顺序生成标准输出的结果,包括请求票证的人的姓名、票证的行和节或解释“抱歉,我们无法处理您的一方”或“呼叫拆分方”

    样本输出:

    ```


    你也许应该写下你迄今为止所做的尝试。无论如何,我认为它可以用下面的算法来解决。您可以编写相同的代码

    1. Keep track of total_seats.
    
    2. Sort the theater requests based on the number of seats needed (since filling more orders is the priority).
    
    3. For each request :
           if request < total_seats :
               For each row:
                   if request < seats_in_row:
                       total_seats -= seats
                       update theater_seat[row][column]
                   else:
                      Call to split party. 
    
           else:
               Sorry, we can't handle your party. 
    
    1。记录总座位数。
    2.根据所需座位数对剧院请求进行排序(因为满足更多订单是优先事项)。
    3.对于每个请求:
    如果请求<总座位数:
    对于每行:
    如果请求
    您能解释一下输入吗,比如下一行中的6是什么,然后是3 5 3等等。。。我无法准确地理解这一部分。你想按照预定的顺序安排派对的座位(意思是你越早预订,你坐在前排的座位就越多),还是你能让提前预订的派对坐在后排,以便容纳更多的人?这里的想法是,你应该尝试一下这个练习。遇到困难时,发布相关代码并解释问题。堆栈溢出不是“为我做作业”服务。
    1. Keep track of total_seats.
    
    2. Sort the theater requests based on the number of seats needed (since filling more orders is the priority).
    
    3. For each request :
           if request < total_seats :
               For each row:
                   if request < seats_in_row:
                       total_seats -= seats
                       update theater_seat[row][column]
                   else:
                      Call to split party. 
    
           else:
               Sorry, we can't handle your party.