一个正确的数组
假设我们有一个N长度的数组,由大写字母A,B和C组成.如果在数组中一个接一个地出现的每两个C字母之间,我们将数组称为"右数组",还有更多A字母比B字母.我的工作是发现一个给定的数组是否为"右",如果是,我要打印出"右",否则我就打印了给定的条件有多少个(以铯之间的位置)是不真实的(还有更多Bs比As).
输入:在第一行中,我们输入数组N中的lettes数(1 <N> 200).在下一行中,我们输入数组,中间没有空格.
输出:在一行中打印答案.
例子:
输入:16 ABBCAABCACBAAACB输出:右
输入:15 ABBCABCACBAAACB输出:1
输入:14 CABCABBCBAABBC输出:3
现在,我已经尝试解决这个问题,但是第三个例子对我不起作用 - 我得到2的输出,如上所述我应该得到3,除此之外 - 它编译完全没问题.
#include <iostream>
using namespace std;
int main()
{
int N;
cin >> N;
char Ar[N];
int A = 0;
int B = 0;
int piece = 0;
int attempt = 0;
for (int i = 0; i < N; i++) {
cin >> Ar[i];
}
for (int i = 0; i < N; i++) {
if (Ar[i] == 'C') { …Run Code Online (Sandbox Code Playgroud)