zoukankan      html  css  js  c++  java
  • 数学问题

    3303: LYC的纸牌游戏

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 176  解决: 31
    [提交][状态][讨论版]

    题目描述

    LYC手中有n张牌,这些牌的面值不是0就是5。LYC从这些牌在抽出任意张(不能抽0张),排成一行这样就组成了一个数。使得这个数尽可能大,而且可以被90整除。但是LYC忙着女装,他(她)想让你帮忙算出这个最大的数是个啥。
    注意:
    1.这个数没有前导0,
    2.LYC不需要使用所有的牌。

    输入

    第一行给出一个T,表示T组样例
    每个样例第一行给出一个n,表示n张牌。(1<=n<=1000)
    第二行给出n个整数a[0],a[1],a[2],…,a[n-1] (a[i]是0或5 ) 表示牌上的数字。

    输出

    一共T行每行一个整数表示由所给牌组成的可以被90整除的最大的数,如果没有答案则输出”-1”(没有引号)

    样例输入

    2
    4
    5 5 0 0
    4
    5 0 5 0

    样例输出

    0
    0

    提示

     

    来源

    #include "bits/stdc++.h"
    using namespace std;
    
    int main()
    {
        int T;
        cin >> T;
        while(T--)
        {
            int n;
            cin >> n;
            int a[n];
            for(int i=0;i < n;i++)
                cin >> a[i];
            int num0 = 0;
            int num5 = 0;
            for(int i=0;i < n;i++)
            {
                if(a[i] == 0)
                    num0++;
                else if(a[i] == 5)
                    num5++;
            }
            if(num0 == 0)
                cout << -1 << endl;
            else
            {
                int t = num5 / 9;
                if(t < 1)
                    cout << 0 << endl;
                else
                {
                    for(int i=0;i < t*9;i++)
                        cout << 5;
                    for(int i=0;i < num0;i++)
                        cout << 0;
                    cout <<endl;
                }
    
            }
        }
    
        return 0;
    }

    哎,最后就差一步,很失落,没能进校队

  • 相关阅读:
    Linux日常之命令sort
    Linux日常之命令sed
    Linux日常之命令grep
    Linux日常之命令awk
    Linux日常之命令tee
    Linux日常之数据重定向
    Hibernate打印SQL及附加参数
    使用D3 Geo模块画澳大利亚地图
    基于Spring-WS的Restful API的集成测试
    做项目时需要考虑的安全性问题
  • 原文地址:https://www.cnblogs.com/cunyusup/p/7990180.html
Copyright © 2011-2022 走看看