AT_joi2021_yo1b_b 题解
小蒟蒻的第二篇题解,有问题请指出。
思路
用三重循环依次找出 I、O、I。
第一个循环找第一个 I,若找出,继续第二个循环找 O,若找出,最后第三个循环找 I,若全部找出,直接输出 Yes 返回 0 结束。遍历整个字符串也没有 I、O、I 的话,便输出 No。要注意的是,并不是连续的 IOI,只要有出现 I、O、I 并且顺序一样,就是正确的。
代码
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n;
string a;
cin >> n >> a;
for (int i = 0; i < n; i++) {
if (a[i] == 'I') {
for (int j = i + 1; j < n; j++) {
if (a[j] == 'O') {
for (int k = j + 1; k < n; k++) {
if (a[k] == 'I') {
cout << "Yes\n";
return 0;
}
}
}
}
}
}
cout << "No\n";
return 0;
}
我不会告诉你我大小写输错导致四次提交错误