Решение задачи №283 «Рунные слова» с ACMP





Решение задачи №283 «Рунные слова» с ACMP

Условие задачи

Руны — это древние магические знаки, которые наши предки использовали как буквы. Говорят, что рунные знаки обладают магическими свойствами, а при сложении рун в слова их магическая сила многократно возрастает. Если кузнец изготовит доспехи и начертит там определенные руны в определенном порядке, то доспехи будут наделены необычайными магическими силами.

Для того, чтобы стать обладателем таких доспехов достаточно просто принести кузнецу начертания этих рунных знаков. А вот, чтобы стать обладателем рунного знака приходилось немало потрудиться. Воины добывали начертания рун других языков и наречий в боях или получали их в качестве наград в благодарность за оказанные услуги.

Но так или иначе и в этом деле развелись жулики. По подозрениям ученых кузнец Игнатус Мошеникус изготавливал благородным воинам фальшивые рунные слова. Из древних преданий ученым стало достоверно известно, что каждая руна записывается из двух, трех или четырех английских букв. Причем первая буква рунного слова всегда записывается как заглавная, а все остальные являются маленькими. Ученые перевели несколько, выкованных этим кузнецом, рунных слов на английский язык и теперь нуждаются в Вашей помощи. Проверьте, является ли приведенное слово рунным.

Входные данные
В единственной строке входного файла INPUT.TXT содержится слово. Оно представляет собой непустую строку, длиной не более 100000 символов, содержащую только большие и маленькие буквы английского алфавита.

Выходные данные
В выходной файл OUTPUT.TXT выведите «Yes», если слово является рунным и «No» в противном случае.

#include <iostream>
#include <string>
using namespace std;
int main() {
string s; int i,n,t=0,ob=0,c=0;
cin>>s;
n=s.size();
if ((s[0]>='A')&&(s[0]<='Z')) ob=0;
else ob=1;
for (i=0; i<n; i++) {
if (ob!=1) {
if ((s[i]>='A')&&(s[i]<='Z')) { t=0; c++; }
else { t++; c=0; }
if (t>3||c>1) ob=1;
}else i=n; }
if (ob==1||c==1) cout<<"No";
else cout<<"Yes";
return 0; }



Условия задач взяты с сайта acmp.ru