4588: 文本找数(第4题)
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:0
解决:0
题目描述
正当小 X 带着大家玩三角形游戏的时候,小 Y 在编程中遇到了一个难题,来请教小 X。
小 Y 遇到的难题是需要在一行文本中找最大的数,这一行文本中有整数和实数,也有字母、空格等其它各种字符。这一行文本最多包括 10000 个字符,其中每个数的长度不超过 100(包括小数点),所有的数都没有正负符号,并且没有前导 0,所谓前导 0 是指一个数中开头可以省略的 0,如 007 中的两个 0 就是前导 0,0.618 中小数点前的 0 不是前导 0。也就是说文本中出现的整数必定是一串连续的阿拉伯数字,除了 0 以外所有整数的首位一定不是 0。文本中出现的实数必定是一串连续的阿拉伯数字并且中间夹杂着一个唯一的小数点,该小数点两侧必须是数字,并且小数点左侧一定是上文所述的整数。
小 Y 遇到的难题是需要在一行文本中找最大的数,这一行文本中有整数和实数,也有字母、空格等其它各种字符。这一行文本最多包括 10000 个字符,其中每个数的长度不超过 100(包括小数点),所有的数都没有正负符号,并且没有前导 0,所谓前导 0 是指一个数中开头可以省略的 0,如 007 中的两个 0 就是前导 0,0.618 中小数点前的 0 不是前导 0。也就是说文本中出现的整数必定是一串连续的阿拉伯数字,除了 0 以外所有整数的首位一定不是 0。文本中出现的实数必定是一串连续的阿拉伯数字并且中间夹杂着一个唯一的小数点,该小数点两侧必须是数字,并且小数点左侧一定是上文所述的整数。
输入
输入数据仅有一行包含一个字符串,表示要查找的文本。保证文本中小数点的前后位置一定都是数字,并且不存在一串连续的阿拉伯数字的前后各有一个小数点的情况,像“120.78.90.206”这样的字符串是不可能出现在文本中的。
输出
一行一个整数或实数(按照文本中原来的样子原封不动输出)。如果最大的数不至一个,则输出长度最长的那个数。
样例输入 复制
120 315 513 512 153 0
样例输出 复制
513
提示
样例输入 2
5r2.1q 4p 3.77442qw cock5.0$
样例输出 2
5.0
样例解释:
对于样例1,有120、315、513、512、153、0六个数,最大的数为513。
对于样例2,有5、2.1、4、3.77442、5.0五个数,最大的数有两个,5.0的长度更长。
数据规模与约定:
对于10%的数据,文本为用空格隔开的若干个非负整数(范围在int以内),且最后一个数为0,其余的数都不为0
对于另外40%的数据,文本中不包含小数点
对于 100%的数据,文本长度≤10000,单个数的长度≤100