1.答案:B.
2.
1)shouldn't have done sth 本不应该做某事(但实际上做了)
can't/couldn't have done sth 不可能做过某事(即事情在当初是不可能发生的)
2)对比两句句意:
In such a short period of time,his new car shouldn't have been stolen.
在那么短的时间内,他的新车是本不应该被偷走的.
In such a short period of time,his new car can't have been stolen.
在那么短的时间内,他的新车是不可能被偷走的.
3)从句意通顺和逻辑理解上看,选B更准确.