51nod 1396 还是01串
来源:互联网 发布:深圳志盟科技 知乎 编辑:程序博客网 时间:2024/05/12 16:35
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1396
题目:
给定一个0-1串s,长度为n,下标从0开始,求一个位置k,满足0<=k<=n, 并且子串s[0..k - 1]中的0的个数与子串s[k..n - 1]中1的个数相等。 注意:
(1) 如果k = 0, s[0..k - 1]视为空串
(2) 如果k = n, s[k..n - 1]视为空串
(3) 如果存在多个k值,输处任何一个都可以
(4) 如果不存在这样的k值,请输出-1
Input
就一行,包含一个0-1串S,长度不超过1000000。
Output
题目要求的k值
Input示例
01
Output示例
1
这题纯属乱搞就行。O(n)的复杂度。
#include <iostream>#include<bits/stdc++.h>using namespace std;char s[1100000];int main(){ scanf("%s",s); int n=strlen(s),m1=0; for(int i=0;i<n;i++) if(s[i]=='1') m1++; int m=0,flag=-1; if(m1==0) flag=0; for(int i=0;i<n;i++) { if(s[i]=='0') m++; if(m==m1-(i+1-m)) flag=i+1; } cout<<flag<<endl;}
0 0
- 51 nod 1396 还是01串
- 51nod 1396 还是01串
- 51nod 1396 还是01串
- 51nod-【1396 还是01串】
- 51nod 1396 还是01串
- 51nod 1396 还是01串 -Zero
- 51nod oj 1396 还是01串【打表】
- 51Nod-1396-还是01串
- 51nod 1396 还是01串【前缀和】
- 51nod 1396 还是01串 (思维or前缀和)
- 51nod 1396 还是01串 【思维题】
- 51nod 1396还是01串(前缀和)
- 51nod 1396 还是01串 (根据答案推理性质)
- 51nod 1391:01串
- 51nod-1391 01串
- 51nod 1391 01串
- 51nod-1391:01串
- 51nod 1391 01串
- 关于自定义控件的学习总结
- Android 开发者选项详述
- alloc、init引发的思考
- C语言中的循环语句
- java JFrame 关闭窗口时确认
- 51nod 1396 还是01串
- mysql安装出现error Nr.1045
- LeetCode 第 371 题 (Sum of Two Integers)
- android 引导页应用
- Java函数中传值与传引用的区别
- C++中const用法总结
- 文件描述符
- Android 实现开机启动
- 【Unity】 冰火 MMORPG游戏中的一些数据参考