谕神的密码

Time Limit: 20 Sec

Memory Limit: 256 MB

题目连接

http://acm.uestc.edu.cn/#/problem/show/1251

Description

谕神是集训队里面智商数一数二的大神,在他的电脑里储存着他在学习的东西。每天都要通过学习来提高自己的知识水平。然而,作为一个长者,谕神不愿意将自己的学习资料给那些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

1
2 15

Sample Output

69 96

HINT

题意

题解:

首先我们判断是否能由n个数构成m。

数据比如 3 0,1 19这种,就不能构成

然后我们就可以贪心了~

最小的数,肯定是由1000000000这种,然后从低位开始增加,直到达到s为止

而最大的数,则是由9999999999这种,从低位到高位,逐渐减小,直到变成s

比如 4 27这组数据

首先贪心最小的:

目前的数 目前的sum
1000 1
1009 10
1099 19
1899 27

贪心最大的:
目前的数 目前的sum
9999 36
9990 27

所以输出1899 9990

代码:

#include<iostream>
#include<stdio.h>
using namespace std; int flag;
int n,m;
int Min[];
int Max[];
void getmin()
{
int sum = ;
for(int i=;i<=n;i++)
{
if(i==)Min[i]=;
else Min[i]=;
sum += Min[i];
}
sum = m - sum;
for(int i=n;i>=;i--)
{
int T = min(sum,-Min[i]);
sum -= T;
Min[i] += T;
}
if(Min[]==)flag = ;
}
void getmax()
{
int sum = ;
for(int i=;i<=n;i++)
{
Max[i]=;
sum+=Max[i];
}
sum = sum - m;
for(int i=n;i>=;i--)
{
int T = min(sum,Max[i]);
sum-=T;
Max[i]-=T;
}
if(Max[]==)flag = ;
}
int main()
{
int t;
scanf("%d",&t);
for(int cas=;cas<=t;cas++)
{
scanf("%d%d",&n,&m);
flag = ;
if(n==&&m==)
{
printf("0 0\n");
continue;
}
if(n*<m)
{
printf("-1 -1\n");
continue;
}
getmin(),getmax();
if(flag)
{
printf("-1 -1\n");
continue;
}
for(int i=;i<=n;i++)
printf("%d",Min[i]);
printf(" ");
for(int i=;i<=n;i++)
printf("%d",Max[i]);
printf("\n");
}
}

CDOJ 1251 谕神的密码 贪心的更多相关文章

  1. UESTC--1251--谕神的密码(贪心)

     谕神的密码 Time Limit: 1000MS   Memory Limit: 65535KB   64bit IO Format: %lld & %llu Submit Status ...

  2. cdoj 1141 酱神寻宝 状压dp

    酱神寻宝 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1141 Descri ...

  3. cdoj 1131 男神的礼物 区间dp

    男神的礼物 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1131 Descr ...

  4. cdoj 排名表 拓扑排序 排名输出 贪心

    //并不理解为什么需要反向建图,由大到小倒序确定排名.感觉正向由小到大和反向由大到小应该是一样的. 解:拓排+贪心,反向建边,先找排名靠后的(now,不知道为什么) #include<cstdi ...

  5. 股神小L [贪心]

    题面 思路 股票题肯定是贪心或者$dp$啊 这个题比较$naive$,可以看出来你这里买股票的过程一定是能不买就不买,能卖就拣最贵的日子卖,而且时间不能倒流(废话= =||) 所以我们按照时间从前往后 ...

  6. CDOJ 1132 酱神赏花 dp+单调栈降低复杂度+滚动数组

    酱神赏花 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 262143/262143KB (Java/Others) Submit St ...

  7. CDOJ 1263 The Desire of Asuna 贪心

    The Desire of Asuna Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Othe ...

  8. cdoj 1334 郭大侠与Rabi-Ribi 贪心+数据结构

    郭大侠与Rabi-Ribi Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Su ...

  9. cdoj 1255 斓少摘苹果 贪心

    斓少摘苹果 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1255 Descr ...

随机推荐

  1. 【Servlet】doGet()与doPost()的区别

    doGet与doPost的区别 .Servlet接口只定义了一个服务方法--service .当发出客户端请求时,调用service方法并传递一个请求和响应对象 .使用时经常在doPost()中调用d ...

  2. FFmpeg在Android使用3

    android 移植ffmpeg后so库的使用   只需要将我们编译好的ffmpeg的so包(在/obj/local/armeabi/libffmpeg.so)copy到所在ndk下的\platfor ...

  3. Android入门:发送HTTP的GET和POST请求

    HTTP的请求详解在我的博客中已经讲解过: http://blog.csdn.net/xiazdong/article/details/7215296 我在http://blog.csdn.net/x ...

  4. 基于Fragment实现Tab的切换,滑出侧边栏

    最近在学习Fragment(碎片)这是android3.0以后提出的概念,很多pad上面的设置部分都是通过Fragment来实现的,先看看具体的效果吧(图一)  (图二) (图三)第一章图片是初始时的 ...

  5. mysql-5.6.15_winX64在win764位系统下的安装操作步骤总结

      mysql 版权声明:本文为博主原创文章,未经博主允许不得转载. 自从换了新电脑win764位,支持的内存从原来的3G(2G机身+1G内存条)变到了现在的8G(机身4G+4G内存条),机子的速度是 ...

  6. Delphi的windows剪切板操作函数

    1. Clipbrd函数 function Clipboard: TClipboard;:若应用程序从未使用过剪贴板,则调用该函数形成新的剪贴板:若之前使用过剪贴板则返回使用过的剪贴板. 属性: As ...

  7. e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (六) 自动化测试结构小节

    上一篇‘e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (五) 如何让窗体记录登录 ...

  8. CSS:7个你可能不认识的单位

    原文:7 CSS Units You Might Not Know About 众所周知,当使用CSS技术的时候,很容被一些奇异问题给困住.而当我们面对新的问题时,这会让我们处于非常不利的位置. 但是 ...

  9. sensor BMA250源代码执行分析

    重力传感器是根据压电效应的原理来工作的.   所谓的压电效应就是 “对于不存在对称中心的异极晶体加在晶体上的外力除了使晶体发生形变以外,还将改变晶体的极化状态,在晶体内部建立电场,这种由于机械力作用使 ...

  10. iOS开发中使用Bmob RESTful API

    简介 尽管Bmob已经提供了一套SDK供开发者使用,但有时候开发者可能希望能直接与Bmob后台进行直接交互,以达到某些特别的需求(直接操作_User表.同步网络请求等).而RESTful API可以使 ...