汕头市队赛 SRM 08 A
比赛没参加 所以回来补题咯 A还是自己YY出来了的 可惜比赛没有打
描述
给一个 01 串设为其 S,询问是否存在只出现两次的 01 串 T。
这里的出现定义为存在一串下标 ,满足
且
。
输入格式
一行,一个 01 串
输出格式
一行,字母 Y 表示存在,N 表示不存在
样例输入 1
000
样例输出 1
N
样例输入 2
010
样例输出 2
Y
数据范围与约定
- 设串 S 的长度为 n,
- 数据为随机生成
样例解释
第一个样例中,"000"出现了一次([1+2+3]),"00"出现了三次([1+2],[2+3],[1+3]),"0"出现了三次([1],[2],[3])
第二个样例中,"0"出现了两次
这道题肯定先特判一波 1 和 0 是否只出现了2次 这是唯一一个T能由单一的1或者0组成的情况
那么以下 1 0 不存在出现两次的情况了
然后两个T肯定只有一个位置是不一样的 因为只有这样才会只有两个不一样
那么我们考虑相邻的两个数 (设为 2 3)
1. 如果两数相等 那么
如果1或者4 和他们相等 那么这四个数组成的情况 出现相同的只会是1种或者2种以上
比如 1110 可能的情况只有 选 1110(1种)或者110(3种) 10(3种)不存在两种的情况
那么按题目要求 我们肯定是选那种一种的情况 以期待后面有两种的情况
如果1 和 4 都和 2 3 不等 那么只有两种情况
1001 0110 这个时候 只要你前后全部选 肯定就有答案了(这个是我瞎jb猜的)
2 如果两数不等 同理也是不存在两种的情况 然后就可以写了啦
其实以上的结论都是我猜的 证明什么的可能也不是很好 多多见谅 其实跑得挺快的哈
#include<cstdio>
#include<cstring>
#include<algorithm>
const int M=;
char s[M];
int cnt,c[M],w[M];
bool f;
int main()
{
scanf("%s",s+);
cnt=strlen(s+);
for(int i=;i<=cnt;i++) c[i]=s[i]-'',w[c[i]]++;
if(w[]==||w[]==){printf("Y\n"); return ;}
c[]=c[cnt+]=-;
for(int i=;i<cnt;i++)
if(c[i]==c[i+]&&c[i-]!=c[i]&&c[i+]!=c[i+]) f=;
if(f) printf("Y\n");
else printf("N\n");
return ;
}
汕头市队赛 SRM 08 A的更多相关文章
- 汕头市队赛 SRM 08 B
B-3 SRM 08 描述 给长度为 n 的数列 A 和长度为 m 的数列 B,问有多少长度为 m 的数列 C 满足 输入格式 第一行俩整数 n 和 m 第二行 n 个整数 ,表示数列 A 第三行 m ...
- 汕头市队赛 SRM 08 C
C-3 SRM 08 描述 给一个图,n 个点 m 条双向边,每条边有其长度.n 个点中有 k 个是特殊点,问任意两个特殊点的最短路是多少. 输入格式 第一行三个整数 n m k 第二行 k 个整数 ...
- 汕头市队赛 SRM 07 D 天才麻将少女kpm
这道题放了很久还是回来补了 D 天才麻将少女KPM SRM 07 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂. KPM上周叒打了n场麻将,但她这次又没控分,而且 ...
- 汕头市队赛SRM 20 T2不净的圣杯
不净的圣杯 SRM 20 背景 作为一张BUG级别的卡,官方打算把它修改得人畜无害一些…… 虽然名字还没想好,但是能力大概是对敌方所有单位造成d点伤害,d为自己牌组中所有卡的编号的最大公约数.这无疑是 ...
- 汕头市队赛 SRM 07 B 好玩的麻将
B 好玩的麻将 SRM 07 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂. KPM上周又打了n场麻将,又控了分使得自己的排名是1..n的一个排列. 但她 ...
- 汕头市队赛 SRM 06 C 秀恩爱
C 秀恩爱 SRM 06 背景&&描述 KPM坐在直升机上俯瞰小渔村景象. 渔村可看作二维平面,密密麻麻地到处都是单身狗,KPM当前所在坐标为(sx,s ...
- 汕头市队赛 SRM 06 A 撕书
A 撕书 SRM 06 背景&&描述 游行寺汀正在杀书. 书总共有n页,每页都可以看作是一个小写英文字母,所以我们可以把书看成长度为n的字符串s. 琉璃 ...
- 汕头市队赛 SRM 06 B 起伏的排名
B 起伏的排名 SRM 06 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂. 在上个星期她打了n场麻将,每场麻将都有n名玩家.KPM自然记得自己的n次排名. ...
- 汕头市队赛 SRM 07 A 你的麻将会排序吗
A 你的麻将会排序吗 SRM 07 曾经有过一些沉迷日麻的小孩纸,后来呀,他们都去寻找自己的世界了. kpm也是这样的小孩纸.他想有一只自动整理牌的机器.当麻将以给定的顺序进入机器时,通过机器的运转, ...
随机推荐
- C5509A启动使用定时器
#include <stdio.h> #include <csl.h> #include <csl_pll.h> #include <csl_chip.h&g ...
- [BZOJ2527] [Poi2011]Meteors(整体二分)
对于单个国家,可以对答案进行二分,每次找出此时的陨石数量,如果大于需要的那么答案就在[l,mid],否则就在[mid+1,r]里面 而对于很多国家,也可以进行二分,solve(l,r,L,R)表示询问 ...
- gcc常用命令
1简介 2简单编译 2.1预处理 2.2编译为汇编代码(Compilation) 2.3汇编(Assembly) 2.4连接(Linking) 3多个程序文件的编译 4检错 5库文件连接 5.1编译成 ...
- Enhacing the content with JavaScript
What not to do : In theory , you could use JavaScript to add important content to a web page. Howev ...
- 13,SQLAlchemy 增删改查 一对多 多对多
今天来聊一聊 Python 的 ORM 框架 SQLAlchemy Models 是配置和使用比较简单,因为他是Django自带的ORM框架,也正是因为是Django原生的,所以兼容性远远不如SQLA ...
- java练习——多态与异常处理
1. 上面的程序运行结果是什么? 2. 你如何解释会得到这样的输出? parent = chlid; 所以child中的方法被赋予parent,所以用child方法输出了child的成员变量: ...
- android stadio 快捷键最好的材料 android stadio大全 最牛逼的android stadio快捷键
一: .nn .if .for .toast .instanceof .switch 这些都是可以直接点的,一个变量然后.for ,如果这个这个变量是个集合,都可以.for 二: 关闭所有窗口 ctr ...
- html5兼容处理&sublime text3配置html5环境
1.为了兼容低版本的浏览器解析不了hmtl5标签,要在html文件中head内引入html5shiv.min.js文件 <!--[if lt IE 9]> <script src=& ...
- 【转】灰色在PPT中的运用
一.作为背景 灰色作为背景能够有效烘托其他元素,特别是与白/黑色渐变,效果更好. 1.黑灰渐变,科技感十足 2.纯灰:简单清晰 http://www.behance.net/gallery/N ...
- R语言中的机器学习包
R语言中的机器学习包 Machine Learning & Statistical Learning (机器学习 & 统计学习) 网址:http://cran.r-project ...