※ 문자열 s에 a가 있으면 'a'를 문자열 t로 대체 할 수 있다.(s = aaaa, t = abc -> abcaaa)
※ t가 "a" 라면 문자열의 수도 변하지 않고 그대로이기 때문에 기존의 s 문자 하나만 만들 수 있다 (1을 출력)
※ 문자열 t에 a가 하나 이상 들어가 있으면 t에 포함된 a를 통해 새로운 문자열을 무한히 만들 수 있다.
(s = aaaa, t = abc -> abcaaa -> aabcaaa -> abcabcaaa -1을 출력)
※ t에 a가 포함되지 않았으면 기존 문자열 s의 'a'의 개수만큼 새로운 문자열을 만들 수 있다.
(t에 a가 포함되지 않았으면 t = b로 생각해도 무방하다. 문자 개수당 2가지 선택지가 있고 이 경우의 수는 2^n
aaa -> a와 b의 두가지 선택 2 * 2 * 2 = 2^3)
1. t가 == 'a'라면 1을 출력
2. t에 'a'가 포함되 있으면 -1을 출력
3. 그외의 모든 경우는 2^n을 출력
long타입
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.StringTokenizer;
public class Main {
public static void main(String arg[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
while(T --> 0) {
String s = br.readLine();
String t = br.readLine();
if(t.equals("a")) {
sb.append(1).append('\n');
}
else if(t.contains("a")) {
sb.append(-1).append('\n');
}
else {
long a = (long)Math.pow(2, s.length());
sb.append(a).append('\n');
}
}
System.out.println(sb);
}
}
'코드포스' 카테고리의 다른 글
[Codeforces Round #784 (Div. 4)] E. 2-Letter Strings (0) | 2022.06.02 |
---|---|
[Codeforces Round #790 (Div. 4)] E. Eating Queries (0) | 2022.05.18 |
[Codeforces Round #784 (Div. 4)] D. Colorful Stamp (0) | 2022.04.22 |
[April Fools Day Contest 2022] B. Mike's Sequence (0) | 2022.04.06 |
[April Fools Day Contest 2022] A. Who Tested? (0) | 2022.04.06 |