博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CodeForces-489C Given Length and Sum of Digits...
阅读量:4123 次
发布时间:2019-05-25

本文共 1636 字,大约阅读时间需要 5 分钟。

#include 
#include
#include
using namespace std;const int m_max = 100 + 5;int m, s, sum;int digit[m_max];int digit_max[m_max];bool flag;int main(){ while(~scanf("%d %d", & m, & s)) { if(m == 1 && s == 0) { printf("0 0\n"); continue; } memset(digit, 0, sizeof(digit)); digit[0] = 1; sum = 1; flag = false; for(int i = 0; i < m; i ++) { while(digit[i] < 9) { if(sum < s) { digit[i] ++; sum ++; } if(sum == s) { flag = true; goto End; } if(sum > s) goto End; } } End: if(flag) { for(int i = 0; i < m; i ++) digit_max[i] = digit[i]; if(!digit[m - 1]) { digit[m - 1] = 1; for(int i = m - 2; i >= 0; i --) { if(digit[i]) { digit[i] --; break; } } } for(int i = m - 1; i >= 0; i --) printf("%d", digit[i]); printf(" "); for(int i = 0; i < m; i ++) printf("%d", digit_max[i]); printf("\n"); } else printf("-1 -1\n"); } return 0;}

输入m, s。m代表数字的位数,s代表各个位上的数字要求和为s。求满足要求的最小值和最大值。没有输出-1 -1。

题解:

水题。本来想偷工减料点,结果越写越麻烦,BUG百出。也懒得从头改了。

转载地址:http://yjtpi.baihongyu.com/

你可能感兴趣的文章
解压版Tomcat创建服务启动
查看>>
oracle 存储过程教程
查看>>
基于jquery框架、google chart tools图形报表gvChart的应用心得
查看>>
web项目快速原型设计
查看>>
struts2 OGNL的用法介绍
查看>>
Java Base64加密、解密原理Java代码
查看>>
用Java修改Window或者Linux下的hosts文件
查看>>
java servlet 调用oracle数据库存储过程
查看>>
java struts2模拟百度百科图片中的防盗链设置
查看>>
java 通过request.getHeader("user-agent")解析浏览器
查看>>
java 服务器获取请求的IP方法之总结
查看>>
数据库学习,树形结构的数据库表Schema设计方案
查看>>
Java常用文件目录处理代码集
查看>>
java 利用java运行时的方法得到当前屏幕截图的方法
查看>>
java 获取控制台的输入的两个方法
查看>>
java实现电脑远程控制完整源代码
查看>>
软件行业心得,软件工程师工作总结
查看>>
java 开发银行支付、对账时证书相关的操作总结
查看>>
Linux下WebLogic10.3的安装与配置
查看>>
hmtl 网页缓存的几个方法总结
查看>>