zoukankan      html  css  js  c++  java
  • csu 1008 Horcrux

    换成栈就解决了超时,时间上还可以优化。

     1 # include <stdio.h>
    2 # include <memory.h>
    3
    4 # define MAXN 100005
    5
    6 unsigned short s[MAXN];
    7 int top;
    8
    9 int main()
    10 {
    11 int n, x, i, f, t, tot, top;
    12
    13 while (~scanf("%d", &n))
    14 {
    15 f = top = tot = 0;
    16 memset(s, 0, sizeof(s));
    17 if (n) scanf("%d", &f);
    18 t = f;
    19 s[++top] = 1;
    20 for (i = 1; i < n; ++i)
    21 {
    22 scanf("%d", &x);
    23 if (f ^ x)
    24 {
    25 f = x;
    26 if (i%2 && top)
    27 {
    28 if (top > 1) {s[top-1] += s[top]+1;--top;}
    29 else {++s[top]; t = !t;}
    30 } else s[++top] = 1;
    31 } else ++s[top];
    32 }
    33 if ((top%2) == t) --top;
    34 while (top > 0)
    35 {
    36 tot += s[top];
    37 top -= 2;
    38 }
    39 printf("%d\n", tot);
    40 }
    41
    42 return 0;
    43 }



  • 相关阅读:
    怀念
    红颜知己
    我的孩子们
    10月22日
    Movies
    vue返回上一页效果(this.$router.go、)
    Java随笔
    Java随笔
    java随笔
    java随笔
  • 原文地址:https://www.cnblogs.com/JMDWQ/p/2405331.html
Copyright © 2011-2022 走看看