赞
踩
A. Magic Numbers
time limit per test2 seconds
memory limit per test256 megabytes
inputstandard input
outputstandard output
A magic number is a number formed by concatenation of numbers 1, 14 and 144. We can use each of these numbers any number of times. Therefore 14144, 141414 and 1411 are magic numbers but 1444, 514 and 414 are not.
You’re given a number. Determine if it is a magic number or not.
Input
The first line of input contains an integer n, (1 ≤ n ≤ 109). This number doesn’t contain leading zeros.
Output
Print “YES” if n is a magic number or print “NO” if it’s not.
Examples
input
114114
output
YES
input
1111
output
YES
input
441231
output
NO
My Answer Code:
/* Author:Albert Tesla Wizard Time:2020/11/10 */ #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); string s; cin>>s; for(int i=0;i<s.length();i++) { if((s[i]!='1'&&s[i]!='4')||s[0]!='1'){cout<<"NO"<<'\n';return 0;} } for(int i=0;i+2<s.length();i++) { if(s[i]=='4'&&s[i+1]=='4'&&s[i+2]=='4'){cout<<"NO"<<'\n';return 0;} } cout<<"YES"<<'\n'; return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。