• cf 320A


    A. Magic Numbers
    time limit per test
    2 seconds
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard 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.

    Sample test(s)
    input
    114114
    output
    YES
    input
    1111
    output
    YES
    input
    441231
    output
    NO
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<cmath>
    #include<cstdlib>
    #include<algorithm>
    #include<queue>
    #include<set>
    #include<vector>
    using namespace std;
    #define INF 0xfffffff
    #define LL long long
    LL n;
    int main()
    {
         bool flag=false;
         scanf("%I64d",&n);
         while(n)
         {
               if(n%1000==144)
                      n=n/1000;
               else if(n%100==14)
                      n=n/100;
               else if(n%10==1)
                      n=n/10;
               else
               {
                     flag=1;
                     break;
               }
         }
         if(flag)
                printf("NO
    ");
         else
                printf("YES
    ");
         return 0;
    
    }
    

      

  • 相关阅读:
    最小的K个数
    CentOS 7 连接不到网络解决方法
    数组中超过一半的数字
    字符串的排列
    二叉搜索树与双向链表
    复杂链表的复制
    二叉树中和为某一数值的路径
    二叉搜索树的后序遍历序列
    从上到下打印二叉树
    java的图形文档
  • 原文地址:https://www.cnblogs.com/a972290869/p/4240105.html
Copyright © 2020-2023  润新知