洛谷普及練習場 P1088 火星人

2021-10-02 09:04:28 字數 639 閱讀 2817

這道題吧,我剛剛看到題目是百思不得其解,後來無奈去看了看題解,看到了乙個大佬用十幾行完成了這個題目,然後!就被開啟了新世界的大門……

題目在這裡~

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火星人

傳送門 人類終於登上了火星的土地並且見到了神秘的火星人。人類和火星人都無法理解對方的語言,但是我們的科學家發明了一種用數字交流的方法。這種交流方法是這樣的,首先,火星人把乙個非常大的數字告訴人類科學家,科學家破解這個數字的含義後,再把乙個很小的數字加到這個大數上面,把結果告訴火星人,作為人類的回答。...