zoukankan      html  css  js  c++  java
  • 思维之“November 11th“

    题目大意:有一个x*y的电影院,有一定的坏座位,两个人不能坐在一起,问题是最少坐多少人,最多坐多少人。

    每组输入的数据,分别对应电影院的长宽,有几个坏座位,以及坏座位的坐标。

    解题思路:将电影院根据边界和坏座位分割成若干个小单元,每个单元遵循以下规律,不够的进行取整。

          最多:每两个位子坐一个人(人空人空人空)      最少:每三个位子坐一个人(空人空空人空)

    AC代码:

     1 import java.util.*;
     2 
     3 public class Main{
     4     public static void main(String[] args){
     5         Scanner sc = new Scanner(System.in);
     6         int t = sc.nextInt();int k = 1;
     7         while(t > 0){
     8             int x = sc.nextInt();
     9             int y = sc.nextInt();
    10             int map[][] = new int[x][y];
    11             int b = sc.nextInt();
    12             int max = 0;int min = 0;
    13             for(int i = 0;i < b;i ++){
    14                 int bx = sc.nextInt();
    15                 int by = sc.nextInt();
    16                 map[bx][by] = 1;
    17             }
    18             int num = 0;
    19             for(int i = 0;i < x;i ++){
    20                 for(int j = 0;j < y;j ++){
    21                     if(map[i][j] == 1){
    22                         max += (num+1)/2;
    23                         min +=(num+2)/3;
    24                         num = 0;
    25                     }
    26                     else{num ++;}
    27                 }
    28                 max += (num+1)/2;
    29                 min += (num+2)/3;
    30                 num = 0;
    31             }
    32             System.out.println("Case #" + k + ": " + max + " " + min);
    33             k ++;t --;
    34         }
    35     }
    36 }
  • 相关阅读:
    PAT 2016 数据的交换输出
    HDU 2020 绝对值排序
    HDU 2013 蟠桃记
    HDU 2005 第几天?
    HDU 2004 成绩转换
    系统时钟初始化
    array_map 去除数组参数里面左右两端空格
    建立自己的异常类方式
    laravel withCount 统计关联数量
    laravel门面和服务提供者使用
  • 原文地址:https://www.cnblogs.com/love-fromAtoZ/p/7345262.html
Copyright © 2011-2022 走看看