OJ 1040 翻译 Java

来源:互联网 发布:京瓷2550网络扫描 编辑:程序博客网 时间:2024/05/16 02:32

源码下载

【注】如上面源码无法下载,请通过QQ联系    点击这里联系海森

翻译

时限:1000ms 内存限制:10000K 总时限:3000ms

描述:

给定一个句子a,现在有一个句子b,问b可不可能是由a“翻译”得到的。“翻译”的定义如下:将一个句子里的某个单词所有出现一致地改变为另一个单词。(原句子里不同的单词可以翻译为同一个单词)

输入:

输入有两行字符,分别表示句子a和b。a、b只包含小写字母和空格,且每个句子最多有100个单词,每个单词的长度不超过10个字符。

输出:

如果b可以由a翻译得到,输出“Yes”;否则输出“No”。
格式: printf("Yes\n");或者printf("No\n");

输入样例:

i know i can do it
you know you can eat that

输出样例:

Yes

 

【源码】

package Translate;

import java.util.Scanner;

public class Translate {
 public String OS;
 public String TS;
 public T[] Trans = new T[100];
 private String[] os;
 private String[] ts;
 private int count = 0;
 public Translate(){
  Scanner sc = newScanner(System.in);
  OS = sc.nextLine();
  TS = sc.nextLine();
  os = OS.split(" ");
  ts = TS.split(" ");
  for (int i = 0;i<os.length;i++){
  }
 }
 public void handleString(){
  for (int i =0;i<os.length;i++){
   int temp =IsContained(os[i]);
   if(temp!=-1){
    if(ts[i].equals(Trans[temp].TString))
     continue;
    else{
     System.out.println("No");
     return;
    }
   }
   else{
    Trans[count]= new T();
    Trans[count].OString= os[i];
    Trans[count].TString= ts[i];
    count++;
   }
  }
  System.out.println("Yes");
  return ;
 }
 public int IsContained(String string){
  for (int j = 0;j<count&&Trans[j]!=null;j++){
   if(Trans[j].OString.equals(string)){
    returnj;
   }
  }
  return -1;
 }
 public static void main(String[] args){
  Translate tl = newTranslate();
  tl.handleString();
 }
}
class T {
 public  String OString;
 public  String TString;
 public T(){}
}