zoukankan      html  css  js  c++  java
  • Codeforces-949A. Zebras

    传送门

    一个01串,问是否能分成k个子序列,使每个串始于0,终于0,且01交替出现。若可以,输出任意一种方案,否则输出-1

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <algorithm>
     4 #include <queue>
     5 using namespace std;
     6 typedef long long LL;
     7 
     8 int len;
     9 const int maxn = 2e5 + 10;
    10 char s[maxn];
    11 int nxt[maxn];
    12 int bgn[maxn];
    13 
    14 int main() {
    15     int ans= 0;
    16     scanf("%s", s + 1);
    17     len = strlen(s + 1);
    18     queue<int> q0, q1;
    19     for (int i = 1; i <= len; i++) {
    20         if (s[i] == '0') {
    21             if (q1.empty()) {
    22                 q0.push(i);
    23                 bgn[ans++] = i;
    24             } else {
    25                 int tmp = q1.front(); 
    26                 q1.pop();
    27                 q0.push(i);
    28                 nxt[tmp] = i;
    29             }
    30         } else {
    31             if (q0.empty()) {
    32                 ans = -1;
    33                 break;
    34             } else {
    35                 int tmp = q0.front();
    36                 q0.pop();
    37                 q1.push(i);
    38                 nxt[tmp] = i;
    39             }
    40         }
    41     }
    42     if (!q1.empty()) {
    43         puts("-1");
    44     } else {
    45         printf("%d
    ", ans);
    46         for (int i = 0; i < ans; i++) {
    47             int t = bgn[i];
    48             int cnt = 1;
    49             while (nxt[t]) {t = nxt[t]; cnt++;}
    50             t = bgn[i];
    51             printf("%d %d", cnt, t);
    52             while (nxt[t]) {
    53                 printf(" %d", nxt[t]);
    54                 t = nxt[t];
    55             }
    56             puts("");
    57 
    58         }
    59     }
    60     return 0;
    61 }
  • 相关阅读:
    reactnative遇到的问题总结
    swiper使用总结-坑点汇总
    echars配置案例-reactnative
    REST架构
    web万维网 -- 基础概念
    (四)值栈与OGNL
    (三)Struts2 拦截器
    (二)Struts2 核心知识
    (一)问候Struts2
    在eclipse中使用Maven3(笔记二)
  • 原文地址:https://www.cnblogs.com/xFANx/p/8687135.html
Copyright © 2011-2022 走看看