這道題吧,我剛剛看到題目是百思不得其解,後來無奈去看了看題解,看到了乙個大佬用十幾行完成了這個題目,然後!就被開啟了新世界的大門……
題目在這裡~
p1088 火星人
在大佬的**裡面我看到了乙個以前沒見過的函式,就是next_permutation,我麻溜地去查了一下,發現這是stl裡面的全排列函式:next_permutation函式將按字母表順序生成給定序列的下乙個較大的排列,直到整個序列為降序為止。
與之相對的還有prev_permutation函式,它是生成給定序列的上乙個較小的排列。
使用方法:next_permutation(陣列頭位址,陣列尾位址);若下乙個排列存在,則返回真,如果不存在則返回假。
顯而易見,這個函式與這道題簡直絕配好嗎!
ac**在這裡
#include#includeusing namespace std;
int main()
{ int n,m;cin>>n>>m;
int a[n];
for(int i=0;i>a[i];
while(m--)next_permutation(a,a+n);
for(int i=0;i(一點小小的記錄:最近幾天才開始刷洛谷,然後學到了乙個新詞叫「蒟蒻」……害,這可不就是我嘛!)
洛谷 P1088 火星人
題目描述 人類終於登上了火星的土地並且見到了神秘的火星人。人類和火星人都無法理解對方的語言,但是我們的科學家發明了一種用數字交流的方法。這種交流方法是這樣的,首先,火星人把乙個非常大的數字告訴人類科學家,科學家破解這個數字的含義後,再把乙個很小的數字加到這個大數上面,把結果告訴火星人,作為人類的回答...
洛谷 P1088 火星人
題目描述 人類終於登上了火星的土地並且見到了神秘的火星人。人類和火星人都無法理解對方的語言,但是我們的科學家發明了一種用數字交流的方法。這種交流方法是這樣的,首先,火星人把乙個非常大的數字告訴人類科學家,科學家破解這個數字的含義後,再把乙個很小的數字加到這個大數上面,把結果告訴火星人,作為人類的回答...
洛谷P1088火星人
傳送門 人類終於登上了火星的土地並且見到了神秘的火星人。人類和火星人都無法理解對方的語言,但是我們的科學家發明了一種用數字交流的方法。這種交流方法是這樣的,首先,火星人把乙個非常大的數字告訴人類科學家,科學家破解這個數字的含義後,再把乙個很小的數字加到這個大數上面,把結果告訴火星人,作為人類的回答。...