/**********************************************************************
* 巨蛋疼的题。。。
**********************************************************************/
import java.io.*;
import java.util.*;
public class Main
{
static int INF_INT = 0x3f3f3f3f;
static long INF_LONG = 0x7fffffffffffffffL;
static double PI = Math.acos(-1.0);
static double oo = 10e9;
static double eps = 10e-9;
static Scanner cin = new Scanner(new BufferedInputStream(System.in));
static String str = new String("");
static boolean isvalid()
{
if (str.length() > 15)
{
return false;
}
int ncnt = 0;
for (int i = 0; i < str.length(); ++i)
{
if ('.' == str.charAt(i))
{
++ncnt;
}
else if (!('0' <= str.charAt(i) && str.charAt(i) <= '9'))
{
return false;
}
}
if (ncnt != 3)
{
return false;
}
if ('.' == str.charAt(0) || '.' == str.charAt(str.length() - 1))
{
return false;
}
for (int i = 1; i < str.length(); ++i)
{
if ('.' == str.charAt(i - 1) && '.' == str.charAt(i))
{
return false;
}
}
int ptr = 0;
while (ptr < str.length())
{
int buf = 0;
while (ptr < str.length())
{
if (str.charAt(ptr) == '.')
{
break ;
}
buf *= 10;
buf += (int)(str.charAt(ptr) - '0');
if (buf > 255)
{
return false;
}
++ptr;
}
if (ptr == str.length())
{
break ;
}
if (str.charAt(ptr) == '.')
{
++ptr;
}
}
return true;
}
public static void main(String[] args)
{
while (cin.hasNext())
{
str = cin.nextLine();
System.out.print(isvalid() ? "YES" : "NO");
System.out.println();
}
return ;
}
}
HDU 2206
最新推荐文章于 2019-03-01 13:59:19 发布