Input
The input consists of a single string of uppercase letters A-Z. The length of the string is between 1 and 10 characters, inclusive.Output
Output “YES” or “NO”.Examplesinput
GENIUS
output
YES
input
DOCTOR
output
NO
input
IRENE
output
YES
input
MARY
output
NO
input
SMARTPHONE
output
NO
input
REVOLVER
output
YES
input
HOLMES
output
NO
input
WATSON
output
YES
Solution:
#include <bits/stdc++.h> using namespace std; vector<string> els = {"H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"}; int main() { ios::sync_with_stdio(false); cin.tie(0); for (string& x : els) { if (x.size() == 2) { x[1] = (char) toupper(x[1]); } } string s; cin >> s; vector<bool> dp(s.size() + 1); dp[0] = true; for (int i = 0; i < (int) s.size(); i++) { if (dp[i]) { for (string w : els) { if (s.substr(i, w.size()) == w) { dp[i + (int) w.size()] = true; } } } } cout << (dp.back() ? "YES" : "NO") << '\n'; return 0; }
Related posts:
Card Game
Eugene and an array
Cartoons
Nastya and Time Machine
Obsessive String
Decoding of Integer Sequences
Booking System
Longest Saw
Artem and Array
Wonder Room
Dividing Kingdom II
Ehab's Last Theorem
Adding Digits
Beautiful League
PolandBall and Hypothesis
Heroes of Making Magic III
Colorful Bricks
Lowest Common Ancestor - Farach-Colton and Bender Algorithm
Paint the Digits
Can Bash Save the Day?
Bookshelves
Segments on the Line
Résumé Review
Magical Boxes
Expression parsing
Kay and Snowflake
Foo Fighters
New Year and Domino
Hidden Bipartite Graph
Nastya and Strange Generator
Bulbo
Bits And Pieces