Posts

Showing posts from February, 2014

(SPOJ) 18550 - Troco - Solução

Solução utilizando o "problema da mochila". É possível ver como isso funciona através do link: http://pt.wikipedia.org/wiki/Problema_da_mochila 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();    ...

(SPOJ) 1390 - Mini-Poker - 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;         ...

Estruturas

Exemplo de pilha: Stack<Character> pilha = new Stack<>(); (deprecated) Usar: Deque<Character> pilha = new ArrayDeque<>(); http://docs.oracle.com/javase/7/docs/api/java/util/Stack.html Usar um Stack é mais eficiente do que utilizar um ArrayList como se fosse uma pilha. Exemplo de lista: ArrayList<Integer> lista = new ArrayList<>(); http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

Leitor de inteiros

static int leitor(BufferedReader br) throws NumberFormatException, IOException {         int n;         int resp = 0;         int sinal = 1;         while (true) {             n = br.read();             if (n >= '0' && n <= '9') break;             if (n == '-') sinal = -1;             if (n == '+') sinal = 1;         }         while (true) {             resp = resp*10 + n-'0';             n = br.read();     ...

(SPOJ) 11014 - Expressões - Solução

import java.io.*; import java.util.*; import java.lang.*; 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')             ...

(SPOJ) 3830 - Soma - Solução 2

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' && n <= '9') break;       ...

(SPOJ) 840 - Cofrinhos da Vó Vitória - Solução 2

import java.io.*; import java.util.*; import java.lang.Math; import java.math.*; 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')            ...

(SPOJ) 8697 - Pneu - Solução 2

import java.io.*; import java.util.*; import java.lang.Math; import java.math.*; 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')            ...

(SPOJ) 811 - Quermesse - Solução 2

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;   ...

(SPOJ) 812 - Bits Trocados - Solução 2

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;   ...

(SPOJ) 1333 - Sorvete - Solução

import java.io.*; import java.util.*; class Main {     class Resultado {         int inicio;         int fim;     }         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 ...

(SPOJ) 11631 - Número de Envelopes - Solução Java

Esta solução não passa no SPOJ devido ao limite de tempo, mas as respostas estão corretas. Para tentar diminuir o tempo, lê-se a 2ª linha de entrada como se esta fosse uma string e posteriormente cada número é lido a partir da string. 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) {   ...

(SPOJ) 11631 - Número de Envelopes - Solução C

Esta solução teve que ser implementada em C devido ao limite de tempo. #include<stdio.h>     int main() {     int qteRotulos;     scanf("%d", &qteRotulos);         int tiposBalas;     scanf("%d", &tiposBalas);         int balas[tiposBalas];         int i;     for (i = 0; i < tiposBalas; i++) {         balas[i] = 0;     }         int indice;     for (i = 0; i < qteRotulos; i++) {         scanf("%d", &indice);         balas[indice-1] += 1;     }         int menor = 1000000;     for (i = 0; i < tiposBalas; i++) {         if (balas[i] < menor...

(SPOJ) 1763 - Sudoku - 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;         int sinal = 1;                  while (true) {             n = br.read();             if (n >= '0' && n ...

(SPOJ) 8314 - Fórmula 1 - 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;         int sinal = 1;         while (true) {             n = br.read();             if (n >= '0' && n <= '9') break;        ...

(SPOJ) 3244 - Divisão da Nlogônia - 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;         int sinal = 1;         while (true) {             n = br.read();             if (n >= '0' && n <= '9') break;     ...

(SPOJ) 2281 - Rumo aos 9s - 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);     }         void processa() throws NumberFormatException, IOException {         String line = "";                 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));         BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));         while((line = br.readLine()) != null) {        ...

(SPOJ) 5474 - Alarme Despertador - 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') {                 b...