Submission #6582206


Source Code Expand

Copy
import java.io.*;
import java.lang.reflect.Array;
import java.util.*;
import java.util.Map.Entry;
import java.util.function.Function;
import java.util.stream.Collectors;

@SuppressWarnings("unused")
public class Main {
	FastScanner in = new FastScanner(System.in);
	PrintWriter out = new PrintWriter(System.out);
	final int MOD = (int)1e9+7;
	void printlnYN(boolean b){out.println((b ? "YES" : "NO"));}

	//System.out.println();はつかわない!!
	void solve() throws Exception{
		String S = in.nextStr(), T = in.nextStr();
		
		boolean[] isAll = new boolean[2];
		Arrays.fill(isAll, true);
		for(int i = 0; i < S.length()-1; i++){
			if(S.charAt(i) != S.charAt(i+1)){
				isAll[0] = false;
				break;
			}
		}
		for(int i = 0; i < T.length()-1; i++){
			if(T.charAt(i) != T.charAt(i+1)){
				isAll[1] = false;
				break;
			}
		}
		
		if((isAll[0] && isAll[1] && S.charAt(0) == T.charAt(0))){
			out.println("-1");
			return;
		}
		
		if(S.length() <= T.length()){
			String s1 = new String(S), t1 = new String(T);
			while(s1.length() < t1.length()) s1 += s1;
			if(t1.equals(s1)){
				out.println("-1");
				return;
			}
		}
		
		int ans = 0;
		boolean isOk = false;
		int index = 0;
		int len = 0, cnt = 0;
		S += S;
		int max = S.length() / T.length();
		int ok = 0, ng = max+1;
		String t = "";
		for(int i = 0; i < max; i++){
			t += T;
			if(S.contains(t)) ok = i+1;
			else break;
		}
		out.println(ok);		
	}
	
	public static void main(String[] args) throws Exception {
		new Main().m();
	}
	
	void m() throws Exception {
		solve();
		out.flush();
	}
	
	class FastScanner {
		Reader input;

		FastScanner() {this(System.in);}
		FastScanner(InputStream stream) {this.input = new BufferedReader(new InputStreamReader(stream));}
		
		int nextInt() {return (int) nextLong();}

		long nextLong() {
			try {
				int sign = 1;
				int b = input.read();
				while ((b < '0' || '9' < b) && b != '-' && b != '+') {
					b = input.read();
				}
				if (b == '-') {
					sign = -1;
					b = input.read();
				} else if (b == '+') {
					b = input.read();
				}
				long ret = b - '0';
				while (true) {
					b = input.read();
					if (b < '0' || '9' < b) return ret * sign;
					ret *= 10;
					ret += b - '0';
				}
			} catch (IOException e) {
				e.printStackTrace();
				return -1;
			}
		}

		double nextDouble() {
			try {
				double sign = 1;
				int b = input.read();
				while ((b < '0' || '9' < b) && b != '-' && b != '+') {
					b = input.read();
				}
				if (b == '-') {
					sign = -1;
					b = input.read();
				} else if (b == '+') {
					b = input.read();
				}
				double ret = b - '0';
				while (true) {
					b = input.read();
					if (b < '0' || '9' < b) break;
					ret *= 10;
					ret += b - '0';
				}
				if (b != '.') return sign * ret;
				double div = 1;
				b = input.read();
				while ('0' <= b && b <= '9') {
					ret *= 10;
					ret += b - '0';
					div *= 10;
					b = input.read();
				}
				return sign * ret / div;
			} catch (IOException e) {
				e.printStackTrace();
				return Double.NaN;
			}
		}

		char nextChar() {
			try {
				int b = input.read();
				while (Character.isWhitespace(b)) {
					b = input.read();
				}
				return (char) b;
			} catch (IOException e) {
				e.printStackTrace();
				return 0;
			}
		}

		String nextStr() {
			try {
				StringBuilder sb = new StringBuilder();
				int b = input.read();
				while (Character.isWhitespace(b)) {
					b = input.read();
				}
				while (b != -1 && !Character.isWhitespace(b)) {
					sb.append((char) b);
					b = input.read();
				}
				return sb.toString();
			} catch (IOException e) {
				e.printStackTrace();
				return "";
			}
		}
		
		public int[] nextIntArray(int n) {
			int[] res = new int[n];
			for (int i = 0; i < n; i++) {
				res[i] = nextInt();
			}
			return res;
		}
 
		public int[] nextIntArrayDec(int n) {
			int[] res = new int[n];
			for (int i = 0; i < n; i++) {
				res[i] = nextInt() - 1;
			}
			return res;
		}
 
		public int[] nextIntArray1Index(int n) {
			int[] res = new int[n + 1];
			for (int i = 0; i < n; i++) {
				res[i + 1] = nextInt();
			}
			return res;
		}
 
		public long[] nextLongArray(int n) {
			long[] res = new long[n];
			for (int i = 0; i < n; i++) {
				res[i] = nextLong();
			}
			return res;
		}
 
		public long[] nextLongArrayDec(int n) {
			long[] res = new long[n];
			for (int i = 0; i < n; i++) {
				res[i] = nextLong() - 1;
			}
			return res;
		}
 
		public long[] nextLongArray1Index(int n) {
			long[] res = new long[n + 1];
			for (int i = 0; i < n; i++) {
				res[i + 1] = nextLong();
			}
			return res;
		}
 
		public double[] nextDoubleArray(int n) {
			double[] res = new double[n];
			for (int i = 0; i < n; i++) {
				res[i] = nextDouble();
			}
			return res;
		}
	}
}
/* end Main */

Submission Info

Submission Time
Task F - Strings of Eternity
User Oland
Language Java8 (OpenJDK 1.8.0)
Score 0
Code Size 4996 Byte
Status WA
Exec Time 2110 ms
Memory 342672 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 600
Status
AC × 3
AC × 43
WA × 9
TLE × 18
Set Name Test Cases
Sample a01, a02, a03
All a01, a02, a03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56, b57, b58, b59, b60, b61, b62, b63, b64, b65, b66, b67, b68, b69, b70
Case Name Status Exec Time Memory
a01 AC 68 ms 17492 KB
a02 AC 70 ms 20948 KB
a03 AC 69 ms 17364 KB
b04 AC 70 ms 19284 KB
b05 AC 69 ms 19156 KB
b06 AC 70 ms 19284 KB
b07 AC 69 ms 20052 KB
b08 AC 69 ms 20820 KB
b09 AC 70 ms 18644 KB
b10 AC 69 ms 21204 KB
b11 AC 71 ms 19156 KB
b12 AC 176 ms 26008 KB
b13 AC 181 ms 30488 KB
b14 AC 183 ms 27288 KB
b15 AC 156 ms 24376 KB
b16 AC 149 ms 25960 KB
b17 AC 1929 ms 44180 KB
b18 TLE 2105 ms 35864 KB
b19 TLE 2106 ms 341652 KB
b20 TLE 2105 ms 35992 KB
b21 TLE 2104 ms 42008 KB
b22 AC 194 ms 39064 KB
b23 WA 168 ms 43928 KB
b24 TLE 2110 ms 341912 KB
b25 TLE 2105 ms 35224 KB
b26 TLE 2106 ms 342672 KB
b27 TLE 2108 ms 40088 KB
b28 WA 169 ms 39192 KB
b29 WA 172 ms 43928 KB
b30 AC 169 ms 39448 KB
b31 TLE 2108 ms 40088 KB
b32 AC 169 ms 36376 KB
b33 WA 170 ms 38808 KB
b34 AC 172 ms 43288 KB
b35 AC 173 ms 41368 KB
b36 AC 172 ms 42136 KB
b37 TLE 2105 ms 34584 KB
b38 TLE 2108 ms 33936 KB
b39 AC 985 ms 41112 KB
b40 AC 289 ms 41624 KB
b41 TLE 2108 ms 39064 KB
b42 TLE 2108 ms 39960 KB
b43 WA 172 ms 41880 KB
b44 TLE 2105 ms 37656 KB
b45 AC 167 ms 43928 KB
b46 TLE 2108 ms 41752 KB
b47 WA 171 ms 40344 KB
b48 TLE 2104 ms 42264 KB
b49 AC 312 ms 40728 KB
b50 TLE 2109 ms 35352 KB
b51 WA 170 ms 43800 KB
b52 AC 390 ms 41240 KB
b53 AC 169 ms 41240 KB
b54 WA 179 ms 41496 KB
b55 WA 172 ms 41612 KB
b56 TLE 2109 ms 273432 KB
b57 AC 1549 ms 205976 KB
b58 AC 300 ms 27476 KB
b59 AC 84 ms 18772 KB
b60 AC 121 ms 22612 KB
b61 AC 96 ms 19156 KB
b62 AC 94 ms 23124 KB
b63 AC 156 ms 28952 KB
b64 AC 205 ms 39832 KB
b65 AC 287 ms 43672 KB
b66 AC 164 ms 42008 KB
b67 AC 171 ms 40344 KB
b68 AC 1373 ms 43544 KB
b69 AC 769 ms 40600 KB
b70 AC 1090 ms 41752 KB