a101: F. ⼩可⿂寫作業
標籤 : 2014國中組初賽
通過比率 : 0人/1人 ( 0% ) [非即時]
評分方式:
Strictly

最近更新 : 2023-08-07 12:33

內容

2014 網際網路程式設計全國⼤賽 國中組初賽

⼩可⿂今天雖然只有⼀項回家作業,但他今天很懶,不想寫作業,所以他希望有個程式可以幫忙算出作業的答案。

⽽作業題⽬是這樣的:

有⼀個由字⺟和數字所組成的字串 s。請計算出 s 有幾個⼦字串是合法的數字字串?

我們定義 s 的⼀個⼦字串 s(i,j),則 s(i,j) = si,si+1,...,sj 1,sj

如−果兩個字串的起點或終點的位置不同,則視為不同⼦字串。也就是說,如果(⼦) i ij js(i,j)和 s(i,j)是不同⼦字串。

⼀個合法的數字字串,必須全部由純數字字元組合,且不能以 0 開頭。注意,0 本⾝不算是以

0開頭,是合法的數字字串。

輸入說明

輸⼊的第⼀⾏有⼀個正整數 T,代表測試資料的筆數。

每⼀筆測試資料有兩⾏,第⼀⾏有個正整數 n,代表 s 的⻑度。第⼆⾏則是字串 s

  • T ≤ 30
  • 1 ≤ n ≤ 100000
  • s 是由⼩寫英⽂字⺟「a」到「z」及數字「0」到「9」所組成。
輸出說明

對於每⼀筆測試資料請輸出⼀⾏,包含⼀個數字,代表總共有幾個合法的數字⼦字串。

範例輸入
2
7
101a103
6
sn00py
範例輸出
10
2
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (100%): 1.0s , <10M
提示 :

以下假設索引從1開始。

  • 第⼀筆範例的答案為:
    1. s(1,1) = 1 s(1,2) = 10 3. s(1,3) = 101 4. s(2,2) = 0 5. s(3,3) = 1 6. s(5,5) = 1 7. s(5,6) = 10 8. s(5,7) = 103 9. s(6,6) = 0 10. s(7,7) = 3
  • 第⼆筆範例的答案為:
    1. s(3,3) = 0 s(4,4) = 0
標籤:
2014國中組初賽
出處:
NPSC [管理者:
zero (管理員)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」