这个情态动词的选择?

问题描述:

这个情态动词的选择?
The room is in a terrible mess;it ( )cleaned.
A.can't have been
B.shouldn't have been
答案是选A的 我是这样分析的 shouldn't have been的意思是本应该做而实际上没做
can't have been的意思是表示有把握的否定猜测
那么A和B的意思代入到题中不是都可以的嘛
A代入就是“房间很乱,没有被打扫”
B代入就是“房间很乱,本该被打扫实际上没被打扫”
请问,为什么要选A 我认为都可以的

Should have done 表示该做而没做
如果是The room should have been cleaned.应该才对