题目描述
题目描述
题目的灵感来自TooY0ung某次面向样例编程
给你一个由 <
、=
和 >
组成的字符串 SS 。
请判断 SS 中是否存在双向箭头字符串。
字符串 DD 是双向箭头字符串,当且仅当有一个正整数 kk 使得 DD 是由 11 个 <
、 kk 个 =
和 11个 >
连接得到的长度为 (k+2)(k+2) 的字符串 。
输入格式
输入一个字符串SS
输出格式
输出"Yes"或者"No",表示字符串中是否存在双向箭头字符串,如果存在则输出"Yes",不存在则输出"No"。(输出内容不包含引号)
输入1:
<==>```
```output1
Yes
数据规模与约定
对于 100%100% 的数据,1≤∣S∣≤101≤∣S∣≤10,SS 中仅包含 <
、=
和 >
三种字符。∣S∣∣S∣表示字符串长度。
- 子任务 1(30 分):保证字符串SS以
<
开始,以>
结束。 - 子任务 2(30 分):保证不包含字符
=
。 - 子任务 3(40 分):没有特殊限制。
#include<bits/stdc++.h> using namespace std; long long array_x[1010]; int main(){ int flag=0; string s; cin>>s; for(int i=0;i<s.size();i++){ if(s[i]=='<'&&flag==0){ flag=1; }else if(s[i]=='='&&flag==1){ flag=2; }else if(s[i]=='='&&flag==2){ flag=2; }else if(s[i]=='>'&&flag==2){ flag=3; break; }else{ flag=0; } } if(flag==3){ cout<<"Yes"; }else{ cout<<"No"; } return 0; }