#P3126. Prime Path

Prime Path

问题翻译 内阁部长们对安全主管的通知感到十分不满,通知称他们都必须更换办公室的四位房间号码。 ——“为了安全起见,时不时更换这些号码是必要的,这样能让敌人摸不着头脑。”

——“但你看,我选 10331033 这个号码是有充分理由的。要知道,我可是总理!”

——“我知道,所以你新的号码 81798179 也是个质数。你只需要在办公室门上用四个新数字覆盖原来的四个数字就行。”

——“没那么简单。假设我把第一个数字换成 88,那号码就变成 80338033,但这不是质数!”

——“明白了,作为总理,你甚至连门上出现非质数的几秒钟都无法容忍。”

——“没错!所以我必须想出一个方案,从 10331033 按顺序转换到 81798179,每次转换只能改变一个数字,且每一步得到的数都必须是质数。”

此时,一直在旁偷听的财政部长插话了。 ——“请不要不必要地花钱!我恰好知道,每个数字的价格是 11 英镑。”

——“嗯,这样的话,我需要一个电脑程序来计算最小成本。你认识什么收费便宜的编程高手吗?”

——“事实上,我认识。你看,现在正好有一个编程竞赛在进行……”

请帮助总理找到任意两个四位质数之间的最小成本质数路径!当然,第一个数字不能为零。以上面的例子为例,解决方案如下:

10331033 17331733 37333733 37393739 37793779 87798779 81798179

这个方案的成本是 66 英镑。注意,第二步中被覆盖的数字 1 不能在最后一步重复使用 —— 必须购买新的数字 11。 输入格式 第一行是一个正整数:测试用例的数量(最多 100100 个)。接下来每个测试用例占一行,包含两个用空格分隔的数字。这两个数字都是四位质数(没有前导零)。 输出格式 每个用例输出一行,要么是表示最小成本的数字,要么是单词 "Impossible"(表示无法找到路径)。 输入样例 1 3 1033 8179 1373 8017 1033 1033 输出样例 1 6 7 0