Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- String dic, ingles, foreign;
- Dict dict;
- String words[];
- int hashed;
- Lista dicts[] = new Lista[100000];
- boolean flag =true;
- while (flag){
- dic = in.nextLine();
- if(dic.equals("")){
- flag = false;
- }
- else{
- words = dic.split(" ");
- ingles=words[0];
- foreign = words[1];
- dict = new Dict(ingles,foreign);
- hashed = hash(foreign);
- if(dicts[hashed]==null){
- dicts[hashed] = new Lista();
- }
- dicts[hashed].inserir(dict);
- }
- }
- flag = true;
- while(flag){
- foreign = in.nextLine();
- if(foreign.equals("")){
- flag = false;
- }
- else {
- hashed = hash(foreign);
- if(dicts[hashed]!=null){
- System.out.println(dicts[hashed].find(foreign));
- }
- else{
- System.out.println("eh");
- }
- }
- }
- }
- public static int hash(String key){
- int tamString = key.length()/4;
- int soma=0, mult, s;
- String sub;
- for(int i=0;i<tamString;i++){
- sub = key.substring(i*4,(i*4)+4);
- mult =1;
- s = sub.length();
- for(int j=0;j<s;j++){
- soma+= ((int) sub.charAt(j))*mult;
- mult*=256;
- }
- }
- sub = key.substring(tamString*4);
- mult =1;
- s = sub.length();
- for(int k=0;k<s;k++){
- soma+=sub.charAt(k)*mult;
- mult*=256;
- }
- return Math.abs(soma)%100000;
- }
- }
- class Lista {
- private Lista proximo;
- private Dict dict;
- Lista(){
- proximo = null;
- dict = null;
- }
- public void inserir(Dict _dict){
- if(this.dict==null){
- this.dict =_dict;
- this.proximo = new Lista();
- }
- else {
- this.proximo.inserir(_dict);
- }
- }
- public String find(String _foreign){
- if(this.dict!=null){
- if(this.dict.getForeign().equals(_foreign)){
- return this.dict.getIngles();
- }
- else {
- if(this.proximo!=null){
- return this.proximo.find(_foreign);
- }
- else{
- return "eh";
- }
- }
- }
- else {
- return "eh";
- }
- }
- }
- class Dict {
- private String ingles;
- private String foreign;
- Dict(String _ingles, String _foreign){
- this.ingles = _ingles;
- this.foreign = _foreign;
- }
- String getIngles(){
- return this.ingles;
- }
- String getForeign(){
- return this.foreign;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement