(SPOJ) 3087 - O Fantástico Jaspion! - 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 {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String line = br.readLine();
StringTokenizer tokenizer = new StringTokenizer(line);
int qteInstancias = Integer.parseInt(tokenizer.nextToken());
for (int i = 0; i < qteInstancias; i++) {
line = br.readLine();
tokenizer = new StringTokenizer(line);
int qtePares = Integer.parseInt(tokenizer.nextToken());
int linhasMusica = Integer.parseInt(tokenizer.nextToken());
Map<String, String> tradutor = new TreeMap<String, String>();
// lê as palavras e suas traduções
for (int j = 0; j < qtePares; j++) {
String jaspion = br.readLine();
String portugues = br.readLine();
tradutor.put(jaspion, portugues);
}
for (int j = 0; j < linhasMusica; j++) {
// lê frase que vai traduzir
String jaspion = br.readLine();
tokenizer = new StringTokenizer(jaspion);
int tamFrase = tokenizer.countTokens();
// para cada palavra da frase lida, imprime a tradução
boolean jaImprimiu = false;
String tmp = "";
for (int k = 0; k < tamFrase; k++) {
tmp = tokenizer.nextToken();
if (jaImprimiu) {
bw.write(" ");
}
if (tradutor.get(tmp) != null) {
bw.write(tradutor.get(tmp));
}
else {
bw.write(tmp); // se não tem tradução, imprime a palavra mesmo
}
jaImprimiu = true;
}
bw.write("\n");
}
}
bw.flush();
bw.close();
return;
}
}
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 {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String line = br.readLine();
StringTokenizer tokenizer = new StringTokenizer(line);
int qteInstancias = Integer.parseInt(tokenizer.nextToken());
for (int i = 0; i < qteInstancias; i++) {
line = br.readLine();
tokenizer = new StringTokenizer(line);
int qtePares = Integer.parseInt(tokenizer.nextToken());
int linhasMusica = Integer.parseInt(tokenizer.nextToken());
Map<String, String> tradutor = new TreeMap<String, String>();
// lê as palavras e suas traduções
for (int j = 0; j < qtePares; j++) {
String jaspion = br.readLine();
String portugues = br.readLine();
tradutor.put(jaspion, portugues);
}
for (int j = 0; j < linhasMusica; j++) {
// lê frase que vai traduzir
String jaspion = br.readLine();
tokenizer = new StringTokenizer(jaspion);
int tamFrase = tokenizer.countTokens();
// para cada palavra da frase lida, imprime a tradução
boolean jaImprimiu = false;
String tmp = "";
for (int k = 0; k < tamFrase; k++) {
tmp = tokenizer.nextToken();
if (jaImprimiu) {
bw.write(" ");
}
if (tradutor.get(tmp) != null) {
bw.write(tradutor.get(tmp));
}
else {
bw.write(tmp); // se não tem tradução, imprime a palavra mesmo
}
jaImprimiu = true;
}
bw.write("\n");
}
}
bw.flush();
bw.close();
return;
}
}
Comments
Post a Comment