C. Young Man Do Not Say Five
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
C. Young Man Do Not Say Five
时间限制:1s
空间限制:64MB
本题分值:200
题目背景
众所周知,年轻人是不讲"5"的
题目描述
给定一个由数字组成的字符串,问其中含有多少包含数字'5'的子串?
输入格式
仅一行,包含一个字符串
输出格式
一个整数,表示满足条件的子串的数量。
样例输入1
114504
样例输出1
12
样例1解释
这十二个子串分别为:
5,45,50,145,450,504,1145,1450,4504,11450,14504,114504
样例输入2
555
样例输出2
6
样例2解释
子串的起始位置\(i\)小于等于结束位置\(j\)的子串都是满足条件的,共6个子串。分别是5,5,5,55,55,555。
需要注意的是,两个子串虽然内容一致,但是在原串中的位置不同,依然算作不同的子串
样例输入3
572790297449134561124528193212033832727852655555062848216481670690265302704704542461438072217980722412093108023070228263811087067950860232505511140790344650991164939083542191724688434930398404730014236720796103862316750965976695293916578808993319371764982451536578005833487222897044167903698950742410
样例输出3
41261
数据范围及限制
字符串中仅包含数字'0'~'9'.
设 \(n\) 是字符串的长度,
测试点编号 | 约定 | 测试点分值 |
---|---|---|
1~3 | \( 1\le n\le 10\),字符'5'恰好出现一次 | 每个测试点10分 |
4~7 | \(n=300\) | 每个测试点15分 |
8~9 | \(99991\le n\le99999\),字符串中所有字符均为'5' | 每个测试点15分 |
10~13 | \(n=100000\) | 每个测试点20分 |
请注意,答案 可能超出32位整数的范围 。