Решение задачи "Нити и бусинки" с Codeforces

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


Ожерелье можно описать как строку, состоящую из нитей («-») и бусинок («o»), причём последняя нить или бусинка в этой строке связана с первой.


Вы можете убрать нить или бусинку из ожерелья и вставить её между двумя другими элементами ожерелья (между двумя нитями, между двумя бусинками или между нитью и бусинкой). Этот процесс можно повторить какое угодно количество раз, но при этом из ожерелья нельзя выбрасывать никаких элементов.

Можно ли подобными операциями сделать так, что число нитей между любыми двумя соседними бусинками в ожерелье станет равным? Две бусинки являются соседними, если между ними в ожерелье нет другой бусинки.

Учтите, что после всех операций ожерелье не должно распасться на несколько частей и должно сохранить изначальную длину.

Код

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;cin>>s;
	int a=0,b=0;
	for(char c:s){
		if(c=='-') b++;
		else a++;
	}
	if(!a||b%a==0) cout<<"YES";
	else cout<<"NO";
}

         

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


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

Комментарии

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