zoukankan      html  css  js  c++  java
  • HDU1050

    思路分析(盗图一张):

    分析过程有如下图所示:

    我们可以用一个数组flag记录(1,2),(3,4)·····的公共走廊被记录的次数,每经过一次便把对应的flag[i]加1;注意边缘化处理,我们只采用一个长为205的数组处理,所以需要把数据统一到偶数中去,然后采用flag[j/2]进行存储。

    由于对于每一个flag[i]一次只能访问一次,所以我们只需要找出最大的flag[i]就可以输出结果。

    代码展示:

     1 #include<iostream>
     2 #include<string.h>
     3 using namespace std;
     4 #define maxn 205
     5 int move[maxn][2];
     6 int flag[205];
     7 int main()
     8 {
     9     int t;
    10     cin>>t;
    11     while(t--)
    12     {
    13         int n;
    14         memset(flag,0,sizeof(flag));
    15         cin>>n;
    16         for(int i=0;i<n;i++)
    17             {
    18                 cin>>move[i][0]>>move[i][1];
    19                 if(move[i][0]>move[i][1]){int t=move[i][0];move[i][0]=move[i][1];move[i][1]=t;}
    20                 if(move[i][0]%2==1) move[i][0]++;
    21                 if(move[i][1]%2==1) move[i][1]++;
    22                 for(int j=move[i][0];j<=move[i][1];j+=2)
    23                     flag[j/2]++;
    24             }
    25             int max=flag[0];
    26             for(int i=1;i<=200;i++)
    27             if(flag[i]>max)max=flag[i];
    28             cout<<max*10<<endl;
    29     }
    30     return 0;
    31 }
  • 相关阅读:
    2016.7.31整机升级计划
    UVa 1588
    UVa1587
    Jzoj4714 公约数
    Jzoj4714 公约数
    Jzoj4713 A
    Jzoj4713 A
    Jzoj4711 Binary
    Jzoj4711 Binary
    Jzoj4710 Value
  • 原文地址:https://www.cnblogs.com/khbcsu/p/3859316.html
Copyright © 2011-2022 走看看