RAID技术 RAID!

题意翻译

RAID技术用多个磁盘保存数据。每份数据在不止一个磁盘上保存,因此在某个磁盘损坏时能通过其他磁盘恢复数据。本题讨论其中一种RAID技术。数据被划分成大小为s(1≤s≤64)比特的数据块保存在d(2≤d≤6)个磁盘上,如图所示,每d-1个数据块都有一个校验块,使得每d个数据块的异或结果为全0(偶校验)或者全1(奇校验)。 ------------ 例如,d=5,s=2,偶校验,数据6C7A79EDFC(二进制01101100 01111010 01111001 11101101 11111100)的保存方式如图所示 ------------ 其中加粗块是校验块。输入d、s、b、校验的种类(E表示偶校验,O表示奇校验) 及b(1≤b≤100)个数据块(其中"?"表示损坏的数据),你的任务是恢复并输出完整 数据。如果校验错或者由于损坏数据过多无法恢复,应报告磁盘非法。

题目描述

[problemUrl]: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=7&page=show_problem&problem=450 [PDF](https://uva.onlinejudge.org/external/5/p509.pdf) ![](https://cdn.luogu.com.cn/upload/vjudge_pic/UVA509/196709a0522cff58dd6b77a164bbdbb338e90c87.png)

输入输出格式

输入格式


![](https://cdn.luogu.com.cn/upload/vjudge_pic/UVA509/6c8c154bfac827efc90a4eeb358f3d5ee53280dd.png)

输出格式


![](https://cdn.luogu.com.cn/upload/vjudge_pic/UVA509/ba9e531f31b11cbae8db13764a50df6623d91f90.png)

输入输出样例

输入样例 #1

5 2 5
E
0001011111
0110111011
1011011111
1110101100
0010010111
3 2 5
E
0001111111
0111111011
xx11011111
3 5 1
O
11111
11xxx
x1111
0

输出样例 #1

Disk set 1 is valid, contents are: 6C7A79EDFC
Disk set 2 is invalid.
Disk set 3 is valid, contents are: FFC