Codeforces Round #277.5 (Div. 2) C Given Length and Sum of Digits...

1219 ワード

大きな転送ドア:ここです
このカードは特判の1 0にかかっている.
本来出力0
出力-1-1が間違っていて、、、
この問題は恨みのよい貪欲で,大きくなって貪欲になることだ.
次はコードです
   
#include 
#include 
#include 
using namespace std;
int n,m;
int ans[110];
int main(){
    scanf("%d%d",&n,&m);
    memset(ans,0,sizeof(ans));
    if(n>1&&m==0||m/n>9||m/n==9&&m%n!=0){
      puts("-1 -1");
	 }
	 else if(n==1&&m==0)
	 {
	  printf("0 0
"); } else{ int min=m; int num=0; while(min>0){ if(min<9){ ans[num++]=min; min=0; } else{ ans[num++]=9; min-=9; } } //printf("num==%d
",num); if(num==n){ for(int i=n-1;i>=0;i--) printf("%d",ans[i]); printf(" "); } if(numn){ printf("-1 "); } int max=m; int cnt=0; while(cnt0){ printf("%d",max); max=0; } else if(max>=9) { printf("9"); max-=9; } else{ printf("0"); } cnt++; } printf("
"); } }