[Java]伯俊1013号[Contact]Java
白俊1013号です.
https://www.acmicpc.net/problem/1013
質問する
(100 | 11)+ = { 100 , 11 , 10011 , 11100 , 1110011100 , 100111111100100, … }
(100+1+ | 01)+
金ドンヒョク博士は、様々な伝播記録から、このようなパターンを持つ伝播プログラムを見つける必要がある.この操作を実行できるプログラムを作成します.
入力
https://www.acmicpc.net/problem/1013
質問する
伝播の基本単位は,{0,1},x+()が任意の数(少なくとも1つ)xの繰返しからなる伝播の集合を表す2つの構成からなる.
(100 | 11)+ = { 100 , 11 , 10011 , 11100 , 1110011100 , 100111111100100, … }
(100+1+ | 01)+
入力
入力された第1行は、試験例の個数Tを与える.次の行から、各テストケースについて、伝播を表す{0,1}のみを含む文字列にスペースはありません.文字列長は(1≦N≦200)です.
しゅつりょく
各テストケースについて,与えられた伝播パターンが問題で提案されたパターンであり,「YES」でなければ「NO」が出力される.出力文字列はすべて大文字で構成されています.
入力例1 3
10010111
011000100110001
0110001011001
サンプル出力1 NO
NO
YES
考える
この問題は正規表現の概念に関連している.
私は正規表現についてよく知らないので、書くたびに検索して解きます.
この問題はなんと簡単なことか...
質問に出した"(100+1+ | 01)+"
パターンをそのまま入れるだけで正解を出力できます.
ゴールド問題なので難しいかと思いましたが、正規表現自体がちょっと難しいのは、高すぎるせいかもしれません.
アクション
regexは、正規表現で作成されたパターンと文字列を比較するために使用されます.Patternを使用する必要があります.Pattern P = Pattern.compile("(100+1+|01)+");
口を通って
私たちが使用するモードを定数にコンパイルしておきます.
matcherのmatches関数を用いて比較し,ブール値と判別した.
TMI
1.残念ながらアレシボ天文台は2020年に崩壊し引退を余儀なくされた.
2.映画交流の中で、主人公が外星の信号を研究している間に追い出された場所は、アレシボが満員になった場所だった.だからこの問題のテーマは接触です.(1行目は名セリフ)
コード#コード# import java.util.regex.Pattern;
import java.io.*;
public class Main {
private static final Pattern P = Pattern.compile("(100+1+|01)+");
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
while(T-- > 0) {
if (P.matcher(br.readLine()).matches()) {
sb.append("YES").append('\n');
} else {
sb.append("NO").append('\n');
}
}
System.out.println(sb);
} // End of main
} // End of class
Reference
この問題について([Java]伯俊1013号[Contact]Java), 我々は、より多くの情報をここで見つけました
https://velog.io/@lifeisbeautiful/Java-백준-1013번-Contact-자바
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
各テストケースについて,与えられた伝播パターンが問題で提案されたパターンであり,「YES」でなければ「NO」が出力される.出力文字列はすべて大文字で構成されています.
入力例1 3
10010111
011000100110001
0110001011001
サンプル出力1 NO
NO
YES
考える
この問題は正規表現の概念に関連している.
私は正規表現についてよく知らないので、書くたびに検索して解きます.
この問題はなんと簡単なことか...
質問に出した"(100+1+ | 01)+"
パターンをそのまま入れるだけで正解を出力できます.
ゴールド問題なので難しいかと思いましたが、正規表現自体がちょっと難しいのは、高すぎるせいかもしれません.
アクション
regexは、正規表現で作成されたパターンと文字列を比較するために使用されます.Patternを使用する必要があります.Pattern P = Pattern.compile("(100+1+|01)+");
口を通って
私たちが使用するモードを定数にコンパイルしておきます.
matcherのmatches関数を用いて比較し,ブール値と判別した.
TMI
1.残念ながらアレシボ天文台は2020年に崩壊し引退を余儀なくされた.
2.映画交流の中で、主人公が外星の信号を研究している間に追い出された場所は、アレシボが満員になった場所だった.だからこの問題のテーマは接触です.(1行目は名セリフ)
コード#コード# import java.util.regex.Pattern;
import java.io.*;
public class Main {
private static final Pattern P = Pattern.compile("(100+1+|01)+");
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
while(T-- > 0) {
if (P.matcher(br.readLine()).matches()) {
sb.append("YES").append('\n');
} else {
sb.append("NO").append('\n');
}
}
System.out.println(sb);
} // End of main
} // End of class
Reference
この問題について([Java]伯俊1013号[Contact]Java), 我々は、より多くの情報をここで見つけました
https://velog.io/@lifeisbeautiful/Java-백준-1013번-Contact-자바
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
3
10010111
011000100110001
0110001011001
NO
NO
YES
考える
この問題は正規表現の概念に関連している.
私は正規表現についてよく知らないので、書くたびに検索して解きます.
この問題はなんと簡単なことか...
質問に出した"(100+1+ | 01)+"
パターンをそのまま入れるだけで正解を出力できます.
ゴールド問題なので難しいかと思いましたが、正規表現自体がちょっと難しいのは、高すぎるせいかもしれません.
アクション
regexは、正規表現で作成されたパターンと文字列を比較するために使用されます.Patternを使用する必要があります.Pattern P = Pattern.compile("(100+1+|01)+");
口を通って
私たちが使用するモードを定数にコンパイルしておきます.
matcherのmatches関数を用いて比較し,ブール値と判別した.
TMI
1.残念ながらアレシボ天文台は2020年に崩壊し引退を余儀なくされた.
2.映画交流の中で、主人公が外星の信号を研究している間に追い出された場所は、アレシボが満員になった場所だった.だからこの問題のテーマは接触です.(1行目は名セリフ)
コード#コード# import java.util.regex.Pattern;
import java.io.*;
public class Main {
private static final Pattern P = Pattern.compile("(100+1+|01)+");
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
while(T-- > 0) {
if (P.matcher(br.readLine()).matches()) {
sb.append("YES").append('\n');
} else {
sb.append("NO").append('\n');
}
}
System.out.println(sb);
} // End of main
} // End of class
Reference
この問題について([Java]伯俊1013号[Contact]Java), 我々は、より多くの情報をここで見つけました
https://velog.io/@lifeisbeautiful/Java-백준-1013번-Contact-자바
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
import java.util.regex.Pattern;
import java.io.*;
public class Main {
private static final Pattern P = Pattern.compile("(100+1+|01)+");
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
while(T-- > 0) {
if (P.matcher(br.readLine()).matches()) {
sb.append("YES").append('\n');
} else {
sb.append("NO").append('\n');
}
}
System.out.println(sb);
} // End of main
} // End of class
Reference
この問題について([Java]伯俊1013号[Contact]Java), 我々は、より多くの情報をここで見つけました https://velog.io/@lifeisbeautiful/Java-백준-1013번-Contact-자바テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol