zoukankan      html  css  js  c++  java
  • codeforces B. Balls Game 解题报告

    题目链接:http://codeforces.com/problemset/problem/430/B

    题目意思:给出用不多于k种颜色对n个球的染色情况,以及手中的唯一一个球的颜色。初始时,连续的相同颜色的球不多于两个。问用这个手中的球射向同种颜色且不少于两个时,能够destroy的球的数量的最多情况。

          关键之处就是如何处理删除同种颜色的球之后序列的变化情况。这就需要两个指针记录位置。

        

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstdlib>
     4 #include <cstring>
     5 using namespace std;
     6 
     7 const int maxn = 100 + 10;
     8 int c[maxn], ans, maxx;
     9 
    10 int main()
    11 {
    12     int n, x;
    13     while (scanf("%d%d%d", &n, &x, &x) != EOF)
    14     {
    15         ans = 0;
    16         for (int i = 0; i < n; i++)
    17             scanf("%d", &c[i]);
    18         for (int i = 1; i < n; i++)
    19         {
    20             int k, j;
    21             if (c[i] == c[i-1] && c[i] == x)
    22             {
    23                 int l = i-2;
    24                 int r = i+1;
    25                 int s = 2;
    26                 while (1)
    27                 {
    28                     int k1 = 0, k2 = 0;
    29                     for (j = l; j >= 0; j--)
    30                     {
    31                         if (c[j] != c[l])
    32                             break;
    33                         k1++;
    34                     }
    35                     for (k = r; k < n; k++)
    36                     {
    37                         if (c[k] != c[r])
    38                             break;
    39                         k2++;
    40                     }
    41                     if (k1 + k2 >= 3 && c[l] == c[r])
    42                     {
    43                         l = j;
    44                         r = k;
    45                         s += k1+k2;
    46                     }
    47                     else
    48                     {
    49                         ans = max(ans, s);
    50                         break;
    51                     }
    52                 }
    53             }
    54         }
    55         printf("%d
    ", ans);
    56     }
    57     return 0;
    58 }
  • 相关阅读:
    myeclipse连接数据库oracle
    一个利用反射进行对象拷贝的例子
    制作jar包
    反射机制(reflection)动态相关机制
    显示hibernate的sql语句
    三大框架之hibernate的反转
    mysql索引及sql调优
    redis面试题
    mysql索引原理
    详谈django中跨域问题
  • 原文地址:https://www.cnblogs.com/windysai/p/3726596.html
Copyright © 2011-2022 走看看