Решение задачи QAQ с Codeforces

Без пояснения   Просмотров: 46


«QAQ» — смайлик, используемый для выражения плача. Представьте, что «Q» — это глаза со слезами, а «A» — рот.

Алмаз дал Борту строку, состоящую только из заглавных букв латинского алфавита длины n. В строке содержится большое число «QAQ» (Алмаз так мил!).
Борт хочет узнать, сколько подпоследовательностей «QAQ» встречаются в строке, которую дал Алмаз. Обратите внимание, буквы «QAQ» не обязательно должны идти непосредственно друг за другом, но порядок букв должен быть соблюден.

Код

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string s;
	cin>>s;
	int a=0,b=0,c=0;
	for(int i=0;i<s.size();i++)
	{
		if(s[i]=='Q')
		{
			c+=b;
			a++;
		}
		if(s[i]=='A')
		{
			b+=a;
		}
	}
	cout<<c<<endl;
	return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться