您的位置:首页 > 编程语言 > Java开发

OJ 1040 翻译 Java

2013-08-23 15:07 176 查看
源码下载

【注】如上面源码无法下载,请通过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 = new
Scanner(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)){

return
j;

}

}

return -1;

}

public static void main(String[] args){

Translate tl = new
Translate();

tl.handleString();

}

}

class T {

public String OString;

public String TString;

public T(){}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: