点击打开链接

遇到一个0 先看有没有以1结尾的串 有就补上 没有就新开一个串

遇到一个1 有以0结尾的串就填上 没有就输出-1

如果每次都遍历所有已经构造的串 复杂度太高 可以用队列优化

#include <bits/stdc++.h>
using namespace std;vector <int> ans[200010];
queue <int> que0,que1;
int n,k;
char ch[200010];int main()
{int i,j,p,flag;scanf("%s",ch);n=strlen(ch),k=0,flag=1;for(i=0;i<n;i++){if(ch[i]=='0'){if(que1.empty()){k++;ans[k].push_back(i+1);que0.push(k);}else{p=que1.front();que1.pop();ans[p].push_back(i+1);que0.push(p);}}else{if(que0.empty()){flag=0;break;}else{p=que0.front();que0.pop();ans[p].push_back(i+1);que1.push(p);}}}if(!flag||!que1.empty()){printf("-1\n");}else{printf("%d\n",k);for(i=1;i<=k;i++){printf("%d ",ans[i].size());for(j=0;j<ans[i].size();j++){printf("%d ",ans[i][j]);}printf("\n");}}return 0;
}

Zebras CodeForces - 950C相关推荐

  1. Codeforces 题目合集+分类+代码 【Updating...】【361 in total】

    961A - Tetris                                                模拟                                      ...

  2. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  3. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  4. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  5. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  6. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  7. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  8. codeforces A. Jeff and Digits 解题报告

    题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...

  9. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  10. Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)

    Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈) 标签: codeforces 2017-06-02 11:41 29人阅读 ...

最新文章

  1. 深度学习原来还可以这么学!
  2. R语言效用分析 ( 效能分析、Power analysis)确定样本量、假设检验与两类错误、pwr包进行效用分析 ( 效能分析、Power analysis)的常用函数列表
  3. Tomcat unable to start within 45 seconds.
  4. 研究生调剂!!急!!!跪求解答!!?
  5. 窥见C++11智能指针
  6. 手机号段对应地区编码_漫画:“哈夫曼编码” 是什么鬼?
  7. jpa mysql查找_jpa查找数据库最新一条消息
  8. fread 和 read的区别
  9. 人工智能里一种实现机器学习的技术
  10. OpenGL:显示一些立体图形示例程序(真不错)
  11. Javascript如何显示完整的大数加法结果而不是科学计数法形式
  12. app测试用例考虑点
  13. VSCode 使用 StandardJS 自动格式化代码
  14. 删除桌面计算机,桌面上的图标删不掉怎么办【解决方法】
  15. 日语中的接打电话礼貌用语
  16. Mac OS X 键盘快捷键
  17. 机械革命无线网消失解决办法
  18. 17个获取设计灵感创意必备网站
  19. i386 、x86_64 、ppc是指
  20. 千锋逆战班学习第二十三天 集合练习(一)

热门文章

  1. 用c语言编码rna合成蛋白质,蛋白质生物合成过程中为什么从N端到C端
  2. oracle左连接应用场景,Oracle左连接left join 的实际操作与应用
  3. 折半查找的实现 swustoj
  4. php订单超过未支付,商城订单未支付30分钟自动取消
  5. 马尔可夫链的常返态和非常返态-零常返态
  6. 【应用统计学】几种常见的概率分布
  7. MATLAB 插值+计算离散点曲率
  8. 如何让机器产生意识之意识具象化
  9. win10怎么显示文件后缀名,2个步骤,不到1分钟学会
  10. 老男孩教育33期周末班-决心书