问题描述 |
---|
小程和小猿在玩猜数字的游戏。小猿想了一个四位正整数x,这个数字允许以0开头(例如0123也行),并且各个位置上的数字都不同(例如不可以是2324)。小程试图猜出这个数字,于是会随意报一个四位正整数y,保证各个位置上的数字都不同。而小猿会对该数字进行反馈,如果数字x和数字y的某一位(千位、百位、十位、个位)上的数字相同,则称为1个A;如果数字相同但出现在不同的位上,则称为1个B。 例如当x=1325,y=3526时,小猿会反馈1A2B,其中1A是因为x和y都有数字2,且都出现在十位;2B是因为x和y都有数字3,一个在百位上,一个在千位上,不相同,另外还都有数字5,一个出现在个位上,一个在百位上,也不相同。当x=1234,y=4789时,小猿会反馈0A1B,因为x和y都有数字4,但出现在不同的位上。 现在已知y和小猿的反馈,问x的合法取值共有多少种? |
输入描述 |
多组案例。一个正整数n,表示案例的数量。(n<=100) 每组案例由一个正整数y和一个字符串s组成,其中y是小程猜的数字,s是小猿的反馈。(y保证是各个位置上的数字都不相同的四位正整数,有可能是0开头;s保证是一个正确的反馈) |
输出描述 |
针对每组案例,输出一个整数,表示x值有多少种可能性。 每组案例输出完都要换行。 |
样例输入复制样例 |
1 0123 2A2B |
样例输出 |
6 |
提示说明 |
合法的x的取值包括0132、0321、0213、3120、2103、1023 |
相关 |