zzuli 2738 階乘的遊戲

2021-10-12 04:19:03 字數 829 閱讀 3335

我們定義f(x)為正整數x其位數的階乘。例如:首先,他們選擇乙個由n個數字組成的十進位制數a,其中至少包含乙個大於1的

數字。此數字可能以前導零開頭。然後他們應該找到滿足以下兩個條件的最大正數x:(1)x既不包含數字0也不包含數字1。(2)

f(x) = f(a)。請你找到這個數。

本題資料請用scanf讀入資料,不要使用gets

第一行輸入t(1<=t<=100),包括t個問題。

接下來的第一行包括乙個正整數n(1<=n<=15)

第二行包含a的n個數字。a中至少有乙個大於1的數字。數字a可能包含前導零。

輸出滿足上述條件的最大可能整數。在這個數字十進位制表示中不應該有零和一。14

1234

給出的整數的每一位的階乘轉變為更多個數階乘之積,再把這些數從高到低排序,就是最大可能整數。0!=1,所以0,1不用考慮。而2,3,5,7不能轉變,4!=4*3!=2!*2!*3!4!可以轉變為2,2,3的階乘之積 ,9 != 9*8*7! = 3!*3!*2!*7!,9!可以轉變為3,3,2,7的階乘之積。以此類推

#include .h>

using namespace std;

int main()

sort

(s.begin()

, s.

end(),

(char a, char b));

cout << s << endl;

}return0;

}

BZOJ 2738 矩陣乘法

卡時卡的我心塞啊 因為插入操作太多而且沒有順序我們需要在sort後的插入操作上滾來滾去 其實並不需要排序opt陣列,而用int下標排序可避免複製的時間過長。include include include include include define maxn 510 using namespace ...

bzoj2738 矩陣乘法

time limit 20 sec memory limit 256 mb submit 1183 solved 504 submit status discuss 給你乙個n n的矩陣,不用算矩陣乘法,但是每次詢問乙個子矩形的第k小數。第一行兩個數n,q,表示矩陣大小和詢問組數 接下來n行n列一共...

bzoj2738 矩陣乘法

description 給你乙個n n的矩陣,不用算矩陣乘法,但是每次詢問乙個子矩形的第k小數。input 第一行兩個數n,q,表示矩陣大小和詢問組數 接下來n行n列一共n n個數,表示這個矩陣 再接下來q行每行5個數描述乙個詢問 x1,y1,x2,y2,k表示找到以 x1,y1 為左上角 以 x2...