Ranking (as of 2013-02-02): 76
Language: C++
/* UVa 271 - Simply Syntax To build using Visucal Studio 2008: cl -EHsc -O2 simply_syntax.cpp */ #include <cstdio> #include <cstring> int get_sentence(const char* s, int i, int length) { if (i >= length) return -1; char c = s[i]; if (c == 'N') { int j = get_sentence(s, i + 1, length); return (j == -1) ? j : j + 1; } else if (c == 'C' || c == 'D' || c == 'E' || c == 'I') { int j = get_sentence(s, i + 1, length); if (j == -1) return -1; int k = get_sentence(s, i + j + 1, length); return (k == -1) ? -1 : j + k + 1; } else return 1; } int main() { const int nr_chars_max = 256; char s[nr_chars_max + 1]; while (gets(s)) { int length = strlen(s); printf("%s\n", ((get_sentence(s, 0, length) == length) ? "YES" : "NO")); } return 0; }
No comments:
Post a Comment