FZU 2159 WuYou

Proceed big numbers A and B,A and B have same digits(Both A and B have no prelude zeros),A contains uncertain digits marking ‘?’.Find a largest A to make A < B.

策略是先从前往后扫描一遍已知的数位,如果相等的话,放过当前位,如果当前位a>b这时停止扫描,纪录扫到的位置i,记录状态为1,如果当前位a<b这时停止扫描记录扫描到位置i,状态为2.

对与状态1,如果我们不能在i之前找到一个‘?’使这一位正好比b少1,那么无解,找到了的话,就记录这个新位置为i,跳到状态2。

对于状态2,只要令i左边的数位和B一样,右边的数位都是9就可以了。

都完成之后,做一下最终检查,注意只有一位数时首位可以为0,A!=B就可以了。

Leave a Reply

Scroll to top