0和5 51Nod-1433
来源:互联网 发布:三级分销佣金软件 编辑:程序博客网 时间:2024/05/22 00:50
小K手中有n张牌,每张牌上有一个一位数的数,这个字数不是0就是5。小K从这些牌在抽出任意张(不能抽0张),排成一行这样就组成了一个数。使得这个数尽可能大,而且可以被90整除。
注意:
1.这个数没有前导0,
2.小K不需要使用所有的牌。
Input
每个测试数据输入共2行。
第一行给出一个n,表示n张牌。(1<=n<=1000)
第二行给出n个整数a00,a11,a22,…,an−1n−1 (aii是0或5 ) 表示牌上的数字。
Output
共一行,表示由所给牌组成的可以被90整除的最大的数,如果没有答案则输出”-1”(没有引号)
Sample Input
4
5 0 5 0
Sample Output
注意:
1.这个数没有前导0,
2.小K不需要使用所有的牌。
Input
每个测试数据输入共2行。
第一行给出一个n,表示n张牌。(1<=n<=1000)
第二行给出n个整数a00,a11,a22,…,an−1n−1 (aii是0或5 ) 表示牌上的数字。
Output
共一行,表示由所给牌组成的可以被90整除的最大的数,如果没有答案则输出”-1”(没有引号)
Sample Input
4
5 0 5 0
Sample Output
0
组成9的倍数的数的各位数相加的值是9的倍数。同理,只要组成的数是9的倍数然后加上后缀0就可以组成90的倍数。
但是要注意的是在这一题,9的最小的倍数是9个5,而后缀0的个数最少为1
#include<stdio.h>int main(){ int n,x; while(~scanf("%d",&n)) { int num0=0; int num5=0; for(int i=0; i<n; i++) { scanf("%d",&x); if(!x) num0++; else num5++; } if(num0==0) { printf("-1\n"); continue; } if(num5<9) { printf("0\n"); continue; } for(int i=0; i<num5/9; i++) printf("555555555"); for(int i=0; i<num0; i++) printf("0"); printf("\n"); } return 0;}
阅读全文
0 0
- 51nod 1433:0和5
- 51nod 1433 0和5
- 51nod----1433 0和5
- 51nod 1433 0和5
- 51nod 1433 0和5
- 51nod-【1433 0和5】
- 51nod-1433 0和5
- 51Nod 1433 0和5
- 51nod 1433 0和5
- 51nod 1433 0和5
- 【51Nod】1433 0和5
- 51nod 1433 0和5
- 51nod 1433 0和5
- 51nod 1433 0和5
- 51nod 1433 0和5
- 0和5 51Nod-1433
- 51Nod 1433 0和5 倍数
- 51nod 0 和 5
- Java如何配置安装jdk环境变量
- jQuery之密码验证
- web_service 导入第三方实例
- ASP.NET4.5尚未在web服务器上注册,您需要手动将web服务器配置为使用ASP.NET4.5
- 大三夏季学期实训-千峰-css-float属性小记
- 0和5 51Nod-1433
- 前端基础知识
- shell脚本中if判断
- HDU 3613 Manacher算法
- 【android】3、Toolbar
- WSAPoll引发的一场血案(2)
- SQL Server 游标语句 声明/打开/循环实例
- ZooKeeper_15_服务器角色/数据同步
- 前端重点题目汇总