諭神的密碼(思維)

來源:互聯網
上載者:User

標籤:

諭神的密碼Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others)Submit Status

諭神是集訓隊裡面智商數一數二的大神,在他的電腦裡儲存著他在學習的東西。每天都要通過學習來提高自己的知識水平。然而,作為一個長者,諭神不願意將自己的學習資料給那些too young, too simple, sometimes naive的人看,以免被他們看了去搞一個大新聞。於是,諭神給自己的電腦設定了密碼。

當然,他設定的密碼也要按照基本法。這個基本法是諭神自己搞出來的。法則是這樣的:

1、密碼由2個n位元組成,中間由空格隔開,其中,兩個數的各個位的和均為s

2、是滿足1條件的最小的數和最大的數

3、當找不到n位元的和為s的時候,密碼就是:-1 -1

4、諭神保證密碼的2個數中沒有前置0。

他這個密碼只是為了防止too young, too simple, sometimes naive的人進入電腦的,對於你們這些高智商的人群,破譯密碼應該並不難吧~~

注意,單獨的0,是合法的哦~

Input

先讀入一個T(0≤T≤100),為資料群組數

每組資料只有一行,為n(0<n≤100)和s(0≤s≤900).

Output

輸出諭神的密碼

Sample input and output
Sample Input Sample Output
12 15
69 96
Hint

就一組測試資料 2位元各位和為15的最大值是96, 最小值是69.

題解:wa了一個小時,這個題可以分兩步求,先求最小的,再求最大的,最小的要滿足前面的數儘可能小但第一位不能是1,最大的要滿足前面的數儘可能大,

如果這n位元每位都是9和還小於s的或就不滿足,如果當n大於1,s等於0不滿足;然後貪心找出每一位的值;主要要考慮全細節

代碼:

#include<cstdio>#include<cstring>#include<cmath>#include<iostream>#include<algorithm>using namespace std;#define mem(x,y) memse(x,y,sizeof(x))#define SI(x) scanf("%d",&x)#define PI(x) printf("%d",x)#define P_ printf(" ")const int MAXN=1010;int a[MAXN];int main(){    int T,n,s;    SI(T);    while(T--){        SI(n);SI(s);        if(9*n<s){            puts("-1 -1");continue;        }        if(s==0&&n>1){            puts("-1 -1");continue;        }        if(s==0&&n==1){            puts("0 0");continue;        }        int temp=s;        if(s>9*(n-1))a[n]=s-9*(n-1),s-=s-9*(n-1);        else a[n]=1,s-=1;        for(int i=n-1;i>=1;i--){            if(s>9*(i-1))a[i]=s-9*(i-1),s-=s-9*(i-1);            else a[i]=0;        }        for(int i=n;i>0;i--)PI(a[i]);P_;        s=temp;        for(int i=n;i>=1;i--){            if(s>=9)a[i]=9,s-=9;            else a[i]=s,s-=s;        //    printf("**%d\n",s);        }        for(int i=n;i>0;i--)PI(a[i]);        puts("");    }    return 0;} 

 

 

諭神的密碼(思維)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.