description
對於乙個數字串 s,若能找到一種將其分成左右兩個非空部分 s1,s2 的方案,使得:input1、s1,s2 均無前導零
2、存在兩個正整數 a,b,使得 b 整除 a,且 a/b=s1, a*b=s2
那麼我們記這是乙個合法的分法。特別地,如果乙個串有兩個或更多個不同的合法的分法,那麼我們稱這個數字串是雙拆分數字串。
給定乙個 n,要求構造乙個長度恰為 n 的雙拆分數字串。如果無解,輸出 -1。
輸入僅一行乙個正整數 n(1 <= n <= 300)。output
僅一行乙個數字串或者 -1。樣例
輸入分析8 輸出
24419764
-這是一道數學構造題,根據題意是要找兩個不同的劃分使得分得的兩個子數字串s1、s2分別滿足(s2/s1==k^2),即商為完全平方數。那麼就可以打表或者構造,找到乙個條件的數。
-此題還需注意的是,可以發現,這個構造可以通過奇偶遞推往下的,即如果你發現了乙個偶數***x滿足這個條件,那麼在這個數後面加兩個0,同樣滿足條件
-通過計算,可以發現長度為偶數是,1144符合條件,既可以拆分成1和144,a取12,b取12,或者拆分成11和44,a取22,b取2。同樣,這樣的數還有2288,2392等,隨便找乙個數就可以。長度為奇數是16400符合條件,既可以拆分成16和400,a取80,b取16,或者拆分成1和6400,a取80,b取80。
code
#include
using
namespace
std;
typedef
long
long ll;
int main()
else
return
0;}
Wannafly挑戰賽6 E 雙拆分數 思維
對於乙個數字串 s,若能找到一種將其分成左右兩個非空部分 s1,s2 的方案,使得 1 s1,s2 均無前導零 2 存在兩個正整數 a,b,使得 b 整除 a,且 a b s1,a b s2 那麼我們記這是乙個合法的分法。特別地,如果乙個串有兩個或更多個不同的合法的分法,那麼我們稱這個數字串是雙拆分...
Wannafly挑戰賽6 鎖
106號房間共有n名居民,他們每人有乙個重要度。房間的門上可以裝若干把鎖。假設共有k把鎖,命名為1到k。每把鎖有一種對應的鑰匙,也用1到k表示。鑰匙可以複製並發給任意多個居民。每個106房間的居民持有若干鑰匙,也就是1到k的乙個子集。如果幾名居民的鑰匙的並集是1到k,即他們擁有全部鎖的對應鑰匙,他們...
Wannafly挑戰賽14 E 線性基
題目描述 給乙個1 base陣列,有n次操作,每次操作會使乙個位置無效。乙個區間的權值定義為這個區間裡選出一些數的異或和的最大值。求在每次操作前,所有不包含無效位置的區間的權值的最大值。輸入描述 第一行讀入乙個正整數 1 n 105 第二行讀入n個正整數,第i個表示a i 0 a i 109 第三行...