Rezultati

Up. imeNalogaJezikRezultatČas oddaje
KTK Sveti gral Java 0/100Napačen odgovor (WA) 10. maj '18 @ 19:08

Test Točke Porabljen spomin Porabljen čas Status
#1 5/5 39,098 MiB 0,000 s OK
#2 5/5 35,848 MiB 0,000 s OK
#3 5/5 34,898 MiB 0,000 s OK
#4 5/5 35,645 MiB 0,000 s OK
#5 5/5 36,480 MiB 0,000 s OK
#6 0/5 37,105 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​1
99999937
<<<EOF>>>
Pravilen izhod:
​2
99999937
100000000
<<<EOF>>>
#7 5/5 37,266 MiB 0,000 s OK
#8 5/5 34,238 MiB 0,000 s OK
#9 6/6 39,395 MiB 0,000 s OK
#10 6/6 37,027 MiB 0,000 s OK
#11 0/6 36,340 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​0
<<<EOF>>>
Pravilen izhod:
​1
10
<<<EOF>>>
#12 6/6 35,875 MiB 0,000 s OK
#13 0/6 36,313 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​0
<<<EOF>>>
Pravilen izhod:
​1
60
<<<EOF>>>
#14 6/6 38,863 MiB 0,000 s OK
#15 6/6 39,340 MiB 0,000 s OK
#16 0/6 36,457 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​1
91
<<<EOF>>>
Pravilen izhod:
​2
91
100
<<<EOF>>>
#17 6/6 41,180 MiB 0,000 s OK
#18 6/6 39,691 MiB 0,000 s OK

Ocenjevani program (Naloga3.java):
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;

/**
 * Created by KTK on 5/10/18.
 */
public class Naloga3 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        int[] tabela=new int[9];
        Queue<Integer> vrsta=new LinkedList<>();
        naredi(tabela,8,0,n, vrsta);
        int velikost=vrsta.size();
        System.out.println(velikost);
        for (int i = 0; i < velikost; i++) {
            System.out.println(vrsta.poll());
        }
    }
    private static int tabelaVInt(int[] tabela){
        int mno=1;
        int odg=0;
        for (int i = 0; i < tabela.length; i++) {
            odg+=tabela[i]*mno;
            mno*=10;
        }
        return odg;
    }
    private static void naredi(int[] tabela, int mesto, int vsota, int cilj, Queue<Integer> vrsta){
        if(mesto==0){
            if((cilj-vsota)%2==0&&((cilj-vsota)/2)<10) {
                tabela[mesto]=(cilj-vsota)/2;
                vrsta.add(tabelaVInt(tabela));
                //System.out.println(Arrays.toString(tabela));
            }
            return;
        }
        int mnozitelj=(int)Math.pow(10,mesto)+1;
        for (int i = 0; i < 10; i++) {
            int zacasnaVsota=vsota+mnozitelj*i;
            if(zacasnaVsota<cilj){
                if(cilj-zacasnaVsota<mnozitelj*2) {
                    tabela[mesto] = i;
                    naredi(tabela, mesto - 1, zacasnaVsota, cilj, vrsta);
                }
            }
        }
    }
}