zoukankan      html  css  js  c++  java
  • JZOJ__Day 4:【普及模拟】火柴

    题目描述


    给定一个N位的数,将火柴棍重新排列后,能得到的最大的数是多少?
    注意不能多出或者少一位, 火柴棍要全部用上.
     

    输入

    第一行整数T,表示数据组数
    接下来T行,每行一个整数N, 然后是N位数,表示原来的数,可能会有前导0,中间用空格隔开。

    输出

    对于每组数据,输出一行,最大的能得到的数是多少。

    样例输入

    3
    1 3
    3 512
    3 079

    样例输出

    5
    977
    997

    数据范围限制

    对于20%的数据:1 ≤ n ≤ 10
    对于60%的数据:1 ≤ n ≤ 1000

    对于100%的数据: 1 ≤ n ≤ 100000,1 ≤T≤ 10



    程序:

            

    const
    a:array['0'..'9']of longint=(6,2,5,5,4,5,6,3,7,6);
    var
    t,i,n,k,l,w:longint;
    h:int64;
    j:char;
    zfc:ansistring;
    begin
        assign(input,'match.in');
        reset(input);
        assign(output,'match.out');
        rewrite(output);
        readln(t);
        for i:=1 to t do
        begin
            read(n);
            readln(zfc);
            delete(zfc,1,1);
            h:=0;
            for k:=1 to length(zfc) do
            h:=h+a[zfc[k]];
            l:=0;w:=n;
            while (2*w<=h)and(7*w>=h)and(l<=n)and(w>0)and(h>0) do
            begin
                inc(l);
                for j:='9' downto '0' do
                if (h-a[j]>=2*(w-1))and(7*(w-1)>=h-a[j])and(w>1)or(w=1)and(h=a[j])then
                begin
                    dec(w);
                    h:=h-a[j];
                    write(j);
                    break;
                end;
            end;
            writeln;
        end;
        close(input);
        close(output);
    end.

  • 相关阅读:
    史上最全Html与CSS布局技巧
    Discuz! X的CSS加载机制
    关于input框只能输入纯数字问题
    对象的数据属性
    vue中将光标定位到Input上的问题
    端口占用问题解决方案
    el-button如何消除右边计数样式
    如何改变vscode的背景颜色
    为什么——要实例化对象?
    call()&apply()
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500092.html
Copyright © 2011-2022 走看看