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:
Sum of Odd Integers
Dreamoon Likes Strings
Topological Sorting
Minimum spanning tree - Prim's algorithm
Banana
New Year and Ascent Sequence
Number of paths of fixed length / Shortest paths of fixed length
Triangle
Maximum Xor Secondary
Digits
Bonus Distribution
Rotate Columns (easy version)
Spy Syndrome 2
Design Tutorial: Learn from Life
Definite Game
Array Shrinking
Tanya and Password
Tablecity
Ehab's REAL Number Theory Problem
Break Up
Playing on Graph
Lattice points inside non-lattice polygon
Balls and Boxes
King Moves
Ehab's Last Theorem
Hydra
Happy Line
Ramesses and Corner Inversion
New Year Shopping
Heroes of Making Magic III
Power Tree
Huffman Coding on Segment