Posts

Showing posts from May, 2015

(URI) Lavanderia - Solução

import java.io.*; import java.util.*; class Main {     public static void main(String[] args) throws NumberFormatException, IOException {         Main processando = new Main();         processando.processa();                 System.exit(0);     }         static int leitor(BufferedReader br) throws NumberFormatException, IOException {         int n;         int resp = 0;         while (true) {             n = br.read();             if (n >= '0' && n <= '9') break;         }         while (true) {             resp = resp*10 + n-'0';             n = br.read();             if (n < '0' || n > '9') break;         }         return resp;     }         void processa() throws NumberFormatException, IOException {         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));                 int qtePecas = leitor(br);         int la = leitor(br);         int lb = leitor(br);         int sa = leitor(br);         int sb =

(URI) Onde está o Mármore? - Solução

import java.io.*; import java.util.*; class Main {     public static void main(String[] args) throws NumberFormatException, IOException {         Main processando = new Main();         processando.processa();                System.exit(0);     }        static int leitor(BufferedReader br) throws NumberFormatException, IOException {         int n;         int resp = 0;         while (true) {             n = br.read();             if (n >= '0' && n <= '9') break;         }         while (true) {             resp = resp*10 + n-'0';             n = br.read();             if (n < '0' || n > '9') break;         }         return resp;     }             void processa() throws NumberFormatException, IOException {         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));                 int qteMarmores = leitor(br);         int qteConsultas = leitor(br);                 int contad

(URI) Figurinhas - Solução

Para este problema, é necessário calcular o Máximo Divisor Comum. O MDC entre os dois valores de entrada referentes à quantidade de figurinhas nos fornece o resultado esperado.   import java.io.*; import java.util.*; class Main {     public static void main(String[] args) throws NumberFormatException, IOException {         Main processando = new Main();         processando.processa();                System.exit(0);     }        static int leitor(BufferedReader br) throws NumberFormatException, IOException {         int n;         int resp = 0;         while (true) {             n = br.read();             if (n >= '0' && n <= '9') break;         }         while (true) {             resp = resp*10 + n-'0';             n = br.read();             if (n < '0' || n > '9') break;         }         return resp;     }     int mdc(int a, int b) {         while(b != 0) {             int quociente = a/b;             int resto = a%b;

Bubble Sort

Este algoritmo de ordenação compara cada elemento de uma dada posição com o elemento da posição seguinte, a fim de, ao final da primeira iteração, o último elemento do vetor ser o maior elemento do conjunto. Ao final da segunda iteração, o penúltimo elemento do vetor será o segundo maior elemento do conjunto e assim sucessivamente, até que o primeiro elemento do vetor seja o menor. Este comportamento assemelha-se ao das bolhas, o que dá nome ao algoritmo. import java.io.*; import java.util.*; class Main {     public static void main(String[] args) throws NumberFormatException, IOException {         Main processando = new Main();         processando.processa();                System.exit(0);     }         static int leitor(BufferedReader br) throws NumberFormatException, IOException {         int n;         int resp = 0;         int sinal = 1;         while (true) {             n = br.read();             if (n >= '0' &&

Insertion Sort

Neste algoritmo de ordenação, a partir do segundo elemento do vetor, temos que observar se o elemento em questão é menor do que o(s) elemento(s) anterior(es) e posicioná-lo de acordo com o seu valor. Se for verificado que o elemento é menor do que um elemento que já está ordenado no vetor, todos os elementos a partir deste deverão ser deslocados uma posição à direita para a inclusão deste novo elemento. Este procedimento é realizado até a verificação de todos os elementos. A troca pode ser feita utilizando um vetor auxiliar, o que aumenta o uso de memória, ou no próprio vetor. import java.io.*; import java.util.*; class Main {     public static void main(String[] args) throws NumberFormatException, IOException {         Main processando = new Main();         processando.processa();                System.exit(0);     }         static int leitor(BufferedReader br) throws NumberFormatException, IOException {         int n;         int resp =