• P1702 突击考试


    题目描述

    一日,老师决定进行一次突击考试。已知每个学生都有一个考试能力等级,教室里一共有N个课桌,按照顺序排成一列,每张课桌可以坐两个人,第i张课桌坐的两个人的能力等级为(A[i],B[i])。现在老师决定对能力等级为K的人进行测验。他会从这N排中选择连续的L排进行测验,要求这 L排中的每一排至少有一个人考试能力等级为K。现在我们想知道L的最大值以及对应的等级K。

    输入输出格式

    输入格式:

     

    第1行:一个整数N;

    第2..N+1行:每行两个整数,表示A[i],B[i]。

     

    输出格式:

     

    两个整数L和K,要求在L最大的条件下K最小。

     

    输入输出样例

    输入样例#1: 复制
    3
    3 5
    4 5
    1 3
    
    输出样例#1: 复制
    2 5

    说明

    1≤N≤100,000,1≤A[i],B[i]≤5

    紫色诱惑四:

    这个题,a,b范围才到5,完全可以枚举模拟。

    关键是,思路,思路,思路。

    思路是非常重要的。

    因为题意非常清楚。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 #include<algorithm>
     5 #include<cstring>
     6 using namespace std;
     7 
     8 int n;
     9 int a[100002],b[100002],ans,l;
    10 
    11 int main()
    12 {
    13     scanf("%d",&n);
    14     for(int i=1;i<=n;++i)    
    15         scanf("%d%d",&a[i],&b[i]);
    16     for(int k=1;k<=5;++k)
    17     {
    18         int s=0;
    19         for(int i=1;i<=n;++i)
    20         {
    21             if(a[i]==k||b[i]==k)            
    22                 ++s;            
    23             else
    24             {
    25                 if(s>=l)
    26                 {
    27                     l=s;
    28                     ans=k;
    29                 }
    30                 s=0;                
    31             }            
    32         }
    33         if(s>l)               //别忘了这一步,如果循环里没有到else就结束了就需要这一步重复。
    34         {
    35             l=s;
    36             ans=k;
    37         }
    38     }
    39     printf("%d %d",l,ans);
    40 } 
  • 相关阅读:
    .net百度编辑器的使用
    phpstudy远程连接mysql
    HDU-2389 Rain on your Parade
    HDU-2768 Cat vs. Dog
    HDU-1151 Air Raid
    HDU-1507 Uncle Tom's Inherited Land*
    HDU-1528/1962 Card Game Cheater
    HDU-3360 National Treasures
    HDU-2413 Against Mammoths
    HDU-1045 Fire Net
  • 原文地址:https://www.cnblogs.com/Mary-Sue/p/9126373.html
Copyright © 2020-2023  润新知