加密术_JAVA
Description
加密技術是一種常用的安全保密手段,利用加密技術可以把重要的數據變成經過加密變成亂碼傳送,到達目的地后再利用解密手段還原。現在我們發明了一種新的加密技術,即通過在一個字符串的任意位置插入若干個隨機生成的字符(‘a’’z’或’A’’Z’)對該字符串加密。
我們想要申請專利,但在這之前,需要做大量的檢測。所以有必要編寫一個程序判斷加密后的字符串經過解密是否是加密前的字符串,即從加密后的字符串中刪除若干個字符后剩下的字符串是否可以拼接成加密前的字符串。Can you help us ?
Input
輸入包含多組,每組輸入兩個串(只包含大小寫字母)S,T,中間用空格分開。S和T的長度不超過100000。
Output
對于每組輸入,如果加密后的字符串解密后與加密前的字符串相同輸出“Yes”,否則輸出“No”。
Sample
Input
string Strstring
HELLO sdhfHqEiweqLbnLOqwerty
nomatter nsomatstr
friend FriEendly
Output
Yes
Yes
No
No
Hint
import java.util.Scanner;class Secret {String str;public Secret(String str) {this.str = str;}public boolean judge(String text) {int p = -1, tp;for(int i = 0; i < str.length(); i++) {tp = text.indexOf(str.charAt(i), p + 1);if(tp >= 0 && tp > p)p = tp;elsereturn false;}return true;} } public class Main {public static void main(String args[]) {Scanner reader = new Scanner(System.in);String str, text;while(reader.hasNext()) {str = reader.next();text = reader.next();Secret secret = new Secret(str);if(secret.judge(text))System.out.println("Yes");elseSystem.out.println("No");}reader.close();}}總結
- 上一篇: 小学数学_JAVA
- 下一篇: 救基友记2_JAVA