51nod1433 0和5
2016-03-25 15:46
218 查看
小K手中有n张牌,每张牌上有一个一位数的数,这个字数不是0就是5。小K从这些牌在抽出任意张(不能抽0张),排成一行这样就组成了一个数。使得这个数尽可能大,而且可以被90整除。 注意: 1.这个数没有前导0, 2.小K不需要使用所有的牌。 Input 每个测试数据输入共2行。 第一行给出一个n,表示n张牌。(1<=n<=1000) 第二行给出n个整数a[0],a[1],a[2],…,a[n-1] (a[i]是0或5 ) 表示牌上的数字。 Output 共一行,表示由所给牌组成的可以被90整除的最大的数,如果没有答案则输出”-1”(没有引号) Input示例 4 5 0 5 0 Output示例 0 能被90整除,那么这个数后面带有一个0,那么去掉这个0后,该数各个位置上的数之和相加能被9整除,该数就能被9整除,输出结果加回0即可(可能有多个0) #include <iostream> using namespace std; int main() { int card, cal_0 = 0, cal_5 = 0, num; cin>>card; for(int i = 0; i < card; i++) { cin>>num; if(num == 5) { cal_5++; } else if(num == 0) { cal_0++; } } if(cal_0 == 0) { cout<<-1<<endl; } else { for(; cal_5 > 0; cal_5--) { if(cal_5 * 5 % 9 == 0) { break; } } if(cal_5 == 0) { cout<<0<<endl; } else { for(int j = 1; j <= cal_5; j++) { cout<<5; if(j == cal_5) { for(int k = 1; k <= cal_0; k++) { cout<<0; } } } cout<<endl; } } return 0; }
相关文章推荐
- AutoCompleteTextView样式
- C++ map的基本操作和使用
- 学习创建索引sql
- 优秀的软件测试专家
- SpringMVC工作原理
- css3延时动画
- GIT截图
- ArrayList和LinkedList 内部结构分析(二)
- CSS实现垂直居中的常用方法
- 课堂练习-返回一个整数数组中最大子数组的和
- ThinkPHP学习(二)
- python3的字符串格式化
- 怎么才能静下心来
- BZOJ2157旅游
- 责任成本汇总表
- Java(Android)线程池
- 1号店交易系统架构如何向「高并发高可用」演进
- Centos 6.5 升级系统到 Centos 7.0
- 关于服务器证书的基本资料
- iOS7 TextKit 框架的简单实用