首页 > 代码库 > Codeforces Round #277.5 (Div. 2) C Given Length and Sum of Digits...
Codeforces Round #277.5 (Div. 2) C Given Length and Sum of Digits...
大大的传送门:就是这里
这一道卡在了特判的 1 0
本来输出 0 0
输出 -1 -1了,就错了,,
这道题就是一个恨好的贪心,往大了贪
下面是代码
#include <cstdio> #include <cstring> #include <vector> 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\n"); } 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\n",num); if(num==n){ for(int i=n-1;i>=0;i--) printf("%d",ans[i]); printf(" "); } if(num<n){ printf("1"); for(int i=1;i<n-num;i++) printf("0"); printf("%d",ans[num-1]-1); for(int i=0;i<num-1;i++) printf("9"); printf(" "); } if(num>n){ printf("-1 "); } int max=m; int cnt=0; while(cnt<n){ if(max<9&&max>0){ printf("%d",max); max=0; } else if(max>=9) { printf("9"); max-=9; } else{ printf("0"); } cnt++; } printf("\n"); } }
Codeforces Round #277.5 (Div. 2) C Given Length and Sum of Digits...
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。