這道題目很長踏幻,但是好好看完即可以總結(jié)出一規(guī)律,堂堂的那么多字的題目大多數(shù)都是煙霧彈,這里注意以下幾點:
1:上面的n就是以一個說明桐罕,下面的輸入哪個欄目中的n,是已經(jīng)包含了檢驗盤的那一份
2:數(shù)據(jù)方面,看清楚題目的要求是什么桂敛,按照他們給定的格式去寫輸入輸出(常用的輸入輸出處理方法(第三題幾乎都是字符串問題功炮,題目簡單但是需要耐心細致的看題目爭取做到100分))
3:總結(jié)出來相關(guān)的公式
長長的題目總結(jié)下來就是這幾個步驟:1:要讀的block_to_read是在那個條帶編號,且這個條帶編號在硬盤編號b术唬,2:1中的條帶在該硬盤編號b上的條帶ID薪伏,也就是K的值,3:找到這個block_to_read在這個條帶上的偏移move,3:判斷條件(是不是丟失的硬盤粗仓,是的話異或操作嫁怀,不是的話直接讀取)
這里面需要考慮一些情況(輸出“-”)借浊,其實就是兩種:1:這個block_to_read超過了讀取的長度塘淑,也就是不存在這個block,2:要讀的block剛好在丟失的硬盤上且還存在其他丟失的硬盤也就是如果丟失兩塊或者更多硬盤且要讀的block正好在丟失的盤上那么就無法恢復(fù)了。
解決方法如下(python):