CF#306- A - Two Substrings-水题
来源:互联网 发布:隔音玻璃效果好吗 知乎 编辑:程序博客网 时间:2024/05/16 15:31
给出一个字符串,
求是否同时存在 ”AB“ ”BA“
先遍历一次AB,然后标记掉,再遍历一遍BA就好了
预防出现 ABA AB这种情况
还要先遍历一次BA,标记掉再遍历AB
#include <cstdio>#include <cmath>#include <cstring>#include <string>#include <algorithm>#include <iostream>#include <queue>#include <map>#include <set>#include <vector>using namespace std;char tm[100005];int vis[100005];int main(){ int i; scanf("%s",tm+1); int n=strlen(tm+1); if (n<4) { printf("NO\n"); return 0; } int cun=0; for (i=1;i<=n;i++) { if (tm[i]=='A'&&tm[i+1]=='B') { cun=1; vis[i]=vis[i+1]=1; break; } } int flag=0; for (i=1;i<=n;i++) { if (tm[i]=='B'&&tm[i+1]=='A') if (!vis[i]&&!vis[i+1]) { flag=1; break; } } if (cun&&flag) { printf("YES\n"); return 0; } cun=0; memset(vis,0,sizeof(vis)); for (i=1;i<=n;i++) { if (tm[i]=='B'&&tm[i+1]=='A') { cun=1; vis[i]=vis[i+1]=1; break; } } flag=0; for (i=1;i<=n;i++) { if (tm[i]=='A'&&tm[i+1]=='B') if (!vis[i]&&!vis[i+1]) { flag=1; break; } } if (cun&&flag) { printf("YES\n"); return 0; } else printf("NO\n"); return 0; }
0 0
- CF#306- A - Two Substrings-水题
- Codeforces,306DIV.2A. Two Substrings
- A. Two Substrings
- codefotces #306 A 550A A. Two Substrings(枚举)
- coderforce 550A. Two Substrings
- Codeforces-550A-Two Substrings
- 【codeforces 550A】Two Substrings
- Codeforces Round #306 (Div. 2)---A. Two Substrings
- Codeforces Round #306 (Div. 2) A. Two Substrings
- Codeforces Round #306 (Div. 2), problem: (A) Two Substrings
- CodeForces 550A Two Substrings(模拟)
- CodeForces 550A Two Substrings 简单题
- Two Substrings
- Two Substrings
- Two Substrings
- Two Substrings
- Two Substrings
- Codeforces Round #306 (Div. 2) A. Two Substrings string两个函数使用
- UVa 11068 - An Easy Task
- POJ1062 昂贵的聘礼(dijkstra)
- 【Android-006】【对话框】
- yii学习笔记,目录基本组成
- HDMI转LVDS,HDMI转RGB,MHL转RGB,MHL转LVDS,HDMI接收端,MHL接收端,LT8619B业界最新产品
- CF#306- A - Two Substrings-水题
- cf#306-B. Preparing Olympiad-bitmask暴力
- 苹果电脑充电发热启不了机怎么办?
- CF#306-C - Divisibility by Eight-数学+暴力
- 收起键盘的四种方法
- 继承
- 类
- 重载
- hdu 3460 Ancient Printer trie字典树