zoukankan      html  css  js  c++  java
  • codeforces#277.5 C. Given Length and Sum of Digits

    C. Given Length and Sum of Digits...
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    You have a positive integer m and a non-negative integer s. Your task is to find the smallest and the largest of the numbers that have length m and sum of digits s. The required numbers should be non-negative integers written in the decimal base without leading zeroes.

    Input

    The single line of the input contains a pair of integers m, s (1 ≤ m ≤ 100, 0 ≤ s ≤ 900) — the length and the sum of the digits of the required numbers.

    Output

    In the output print the pair of the required non-negative integer numbers — first the minimum possible number, then — the maximum possible number. If no numbers satisfying conditions required exist, print the pair of numbers "-1 -1" (without the quotes).

    Sample test(s)
    Input
    2 15
    
    Output
    69 96
    
    Input
    3 0
    
    Output
    -1 -1

    题意:要求出两个m位数,他们m位上数字的和为s,求出最小和最大的这种数,假设不存在,就输出-1 -1

    贪心的策略,希望数字最小,那么除了第m位,其它位尽可能为9。希望数字最大,那么尽量让前几位为9 


    #include<cstdio>
    #include<cstring>
    #include <iostream>
    #include<algorithm>
    using namespace std;
    int m,s;
    int main()
    {
    	while(~scanf("%d%d",&m,&s))
    	{
    	    if((s<1&&m>1)||s>m*9)
    	    {
    	        cout<<-1<<" "<<-1<<endl;
    	        continue;
    	    }
    
    	    for(int i=m-1,k=s;i>=0;i--)
    	    {
    	        int j=max(0,k-9*i);
    	        if(j==0&&i==m-1&&k) j=1;//k!=0非常关键。当数据为1 0时,若k=0则此时要输出0
    	        cout<<j;
    	        k-=j;
    	    }
    	    cout<<" ";
    	    for(int i=m-1,k=s;i>=0;i--)
    	    {
    	        int j=min(9,k);
    	        cout<<j;
    	        k-=j;
    
    	    }
    
    	}
    	return 0;
    }
    







  • 相关阅读:
    关于几种滤波的对比
    学习笔记深入理解Java中的HashMap数据结构
    学习笔记Redis基础常识
    学习笔记Java内存模型
    学习笔记理解GC
    工作中的点点滴滴单例的使用
    工作中的点点滴滴学习一下门面模式
    工作中的点点滴滴接口幂等的问题
    【转载】WCF、WebAPI、WCFREST、WebService之间的区别
    【转载】工具分享——将C#文档注释生成.chm帮助文档
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6756363.html
Copyright © 2011-2022 走看看