Two Substrings
2015-09-06 23:05
155 查看
A. Two Substrings
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
You are given string s. Your task is to determine if the given string s contains
two non-overlapping substrings "AB" and "BA"
(the substrings can go in any order).
Input
The only line of input contains a string s of length between 1 and 105 consisting
of uppercase Latin letters.
Output
Print "YES" (without the quotes), if string s contains
two non-overlapping substrings "AB" and "BA",
and "NO" otherwise.
Sample test(s)
input
output
input
output
input
output
Note
In the first sample test, despite the fact that there are substrings "AB" and "BA",
their occurrences overlap, so the answer is "NO".
In the second sample test there are the following occurrences of the substrings: BACFAB.
In the third sample test there is no substring "AB" nor substring "BA".
题意:
找到“BA”与“AB”同时存在的字符串。。
#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
#include<cstdio>
#include<set>
using namespace std;
typedef __int64 ll;
#define T 100005
int main()
{
/*freopen("input.txt","r",stdin);*/
int f1,f2,i,t,f3;
char s[T];
while(~scanf("%s",&s))
{
t=strlen(s);f1=f2=f3=0;
for(i=0;i<t-1;++i){
if(s[i]=='B'&&s[i+1]=='A'){
if(s[i+2]=='B')f3++,i++;
else f2++;
i++;
}
else if(s[i]=='A'&&s[i+1]=='B'){
if(s[i+2]=='A')f3++,i++;
else f1++;
i++;
}
}
if((f1&&f2)||(f1&&f3)||(f2&&f3)||f3>=2)printf("YES\n");//漏了l3》=2的情况Wa了几次
else printf("NO\n");
}
return 0;
}
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
You are given string s. Your task is to determine if the given string s contains
two non-overlapping substrings "AB" and "BA"
(the substrings can go in any order).
Input
The only line of input contains a string s of length between 1 and 105 consisting
of uppercase Latin letters.
Output
Print "YES" (without the quotes), if string s contains
two non-overlapping substrings "AB" and "BA",
and "NO" otherwise.
Sample test(s)
input
ABA
output
NO
input
BACFAB
output
YES
input
AXBYBXA
output
NO
Note
In the first sample test, despite the fact that there are substrings "AB" and "BA",
their occurrences overlap, so the answer is "NO".
In the second sample test there are the following occurrences of the substrings: BACFAB.
In the third sample test there is no substring "AB" nor substring "BA".
题意:
找到“BA”与“AB”同时存在的字符串。。
#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
#include<cstdio>
#include<set>
using namespace std;
typedef __int64 ll;
#define T 100005
int main()
{
/*freopen("input.txt","r",stdin);*/
int f1,f2,i,t,f3;
char s[T];
while(~scanf("%s",&s))
{
t=strlen(s);f1=f2=f3=0;
for(i=0;i<t-1;++i){
if(s[i]=='B'&&s[i+1]=='A'){
if(s[i+2]=='B')f3++,i++;
else f2++;
i++;
}
else if(s[i]=='A'&&s[i+1]=='B'){
if(s[i+2]=='A')f3++,i++;
else f1++;
i++;
}
}
if((f1&&f2)||(f1&&f3)||(f2&&f3)||f3>=2)printf("YES\n");//漏了l3》=2的情况Wa了几次
else printf("NO\n");
}
return 0;
}
相关文章推荐
- Codeforces Round #197 (Div. 2)
- Codeforces Round #198 (Div. 1)
- Codeforces 405E Codeforces Round #238 (Div. 2)E
- Codeforces 407C Codeforces Round #239 (Div. 1)C
- CodeForces 449A - Jzzhu and Chocolate
- CodeForces 449 B. Jzzhu and Cities
- Codeforces Round #265 (Div. 2)
- Codeforces #310 div2 C. Case of Matryoshkas
- 状态压缩DP codeforces 244 Problem C. The Brand New Function 和 codeforces 165 E. Compatible Numbers
- codeforces 16 Problem E fish
- Codeforces round #247 for Div. 2
- Codeforces Round #246 (Div. 2)
- Codeforces #264(div 2)D.Gargari and Permutations
- Codeforces Round #236 (Div. 2)------A,B
- codeforces 257 div2 B
- Codeforces Gym100571A Cursed Query
- Codeforces Gym100342E Minima
- Codeforces Gym100342J Triatrip
- Codeforces Gym100286B Blind Walk (dfs)
- Codeforces Gym100342J Triatrip