C++ 排列百事可乐瓶

C++ 排列雪碧瓶
问题描述
有一个格子为5*5的雪碧瓶架,有的格内是已饮用完雪碧的空瓶,有的格内是未饮用过的盛满雪碧的雪碧瓶,分别用0与1表示。今将此格子各行从左到右抄下,各列从上到下抄下,得到十组0和1,每组五个数字,占据一行。不慎将这十行数据的顺序弄乱,并且丢失了一行数据。经回忆,确认5列的数据和顶行的数据未失。请根据已有的9行信息恢复原来的5*5雪碧瓶架上的排列情况。
输入
输入有若干组测试数据,对每一个测试数据占9行,每行有5个数据。两组测试数据之间有一个空行。输入直到文件输入结束。
输出
对每一组测试数据,在一行上先输出“Case #:”,其中“#”是测试数据集的编号(从1开始),接着在下面的输出恢复后的排列结果:每种情形输出5行,每行5个数字(在每个数字输出一个空格,包括第5个数字后无空格)。不同数据集的结果之间空一行。若无法恢复原来的排列情况,则输出Error.(注测试数据的答案均是唯一的或者Error.)
 
输入样例
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 1 0 1
0 1 1 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 0 1
 
0 0 1 0 1
0 0 1 1 0
0 1 0 1 1
0 1 1 0 1
0 1 1 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 0 1
 
0 0 1 0 1
0 1 1 0 1
0 1 1 1 0
0 1 1 1 1
1 0 1 1 0
1 1 0 1 0
1 1 0 1 1
1 1 1 0 0
1 1 1 0 1
 
输出样例
Case 1:
0 1 0 0 1
1 0 1 0 1
1 1 1 1 1
1 1 0 1 0
0 0 1 0 1
 
Case 2:
Error.
 
Case 3:
0 1 1 0 1
0 1 1 1 1
1 0 1 1 0
0 1 0 1 1
1 1 1 0 0
 
确认5列的数据和顶行的数据未丢失,5列是第5列吗?还有C++代码怎么写
C++

------解决方案--------------------
有啥复杂的,不就是有可能丢失第3行或第5或第7或第9行,一共就4种可能,穷举一下就完了