泰泰學長喜歡玩數字(不知道什麼奇怪的癖好)。他在黑板上寫下乙個數字 x ,然後進行 n-1 次以下兩種操作:
每次操作完成後,泰泰學長在黑板上寫上這個操作後的新數字,並讓這個新數字作為新的 x 繼續下一次操作。最後黑板上有 n 個數字。
由於泰泰學長是隨機在黑板上的位置寫數字的,所以他最後忘記了順序。現在泰泰學長只知道所有的數字,你能幫助泰泰學長找出一種可能的序列嗎?
保證答案一定存在。
input
第一行是數字總數 n (2 ≤ n ≤ 100)。第二行包含 n 個數字a1,a2,…,an (1 ≤ ai ≤3×10^18),注意是不按順序的。
output
輸出 n 個數字,按照泰泰學長寫數字的順序排列。
保證答案一定存在。
examples
input
64 8 6 3 12 9
output
9 3 6 12 4 8
input
442 28 84 126
output
126 42 84 28
input
21000000000000000000 3000000000000000000
output
3000000000000000000 1000000000000000000
note
第乙個樣例中的可能順序為:[9, 3, 6, 12, 4, 8]。此時開始的 x=9
ac**1:
#include#include#include
#include
#include
#include
#include
using
namespace
std;
inline
int read()
typedef
long
long
ll;const
int maxn=1000
;ll a[maxn];
ll b[maxn];
mapint>mp;
intmain()
ll ans;
intj;
for(int i=0;i)
else
if(mp[ans*2]==1
)
else
}if(j==n)
}else
}
}}
ac**2(dfs):
#include#include#include
#include
#include
#include
#include
using
namespace
std;
inline
int read()
typedef
long
long
ll;const
int maxn=1000
;map
int>mp;
ll a[maxn];
ll b[maxn];
int flag=0
;int
n;void dfs(ll x,int
p)
if(p==n)
if(x%3==0&&mp[x/3]==1
)
else
if(mp[x*2]==1)}
intmain()
for(int i=0;i)
break
; }
}return0;
}
判斷二進位制數除以3的餘數
乙個非常有意思的問題 判斷乙個二進位制的數除以3的餘數。思路 首先肯定會想到十進位制除3整除的規則 每位數相加的和能被3整除。但是按照這樣的思路去考慮二進位制的情況容易進入到死胡同裡。考慮以下方法 二進位制的數再加一位0就是原來的值 2,再加上一位1就是原來的值 2 1。那麼考慮以下的狀態轉換 以下...
最小二乘以及最小二乘求解超定方程組最優解的推導
nabla 表示的是求導運算,設a是乙個 n times n的矩陣,f表示一種函式關係,則 nabla a f a katex parse error can t use function in math mode at position 18 begin partial f a b c均為矩陣 t...
姓名相加除以二測試緣分 手相算命測試 姻緣線怎麼看
俗話說 一命二運三風水四積陰德五讀書。在這裡你可以了解算命婚姻 生辰八字 看手相面相 測試愛情緣分 測事業和財運 測試星座生肖運勢 塔羅牌占卜測試 測八字合婚,測姓名配對,周公解夢大全.了解人生命理,知運改命!從生辰八字看你未來運勢 準的可怕 財運風水布局,把握你的流年財運 揭曉你的三世情緣,立即檢...