Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u
那麼這個其實也是一道簡單的貪心算法,如果較大的數字隨機排布在n個數字中,就如樣例1,有可能會符合題目,但是這只是一個特例。只有當我們從前倒序輸出,輸出k個數字之後再正序輸出時,我們的結果才能保證正確。比如在5個數字中,找到2次發生前一項大於後一項的數列,那我們只要讓5 4這樣倒序輸出,緊接着1 2 3輸出,就能找到一組5 4 1 2 3符合題意
同理給出下面兩組數據:
7 4
7 6 5 4 1 2 3
6 5
6 5 4 3 2 1
這些都是符合題意的結果。
AC代碼如下:
#include<bits/stdc++.h>
using namespace std;
int n,m;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
if(i<=m) cout<<n-i+1<<" ";
else cout<<i-m<<" ";
cout<<endl;
return 0;
}