CF119D.String Transformation
省选/NOI-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Let s be a string whose length equals n. Its characters are numbered from 0 to n - 1, i and j are integers, 0 ≤ i < j < n. Let's define function f as follows:
f(s, i, j) = s[i + 1... j - 1] + r(s[j... n - 1]) + r(s[0... i]).
Here s[p... q] is a substring of string s, that starts in position p and ends in position q (inclusive); "+" is the string concatenation operator; r(x) is a string resulting from writing the characters of the x string in the reverse order. If j = i + 1, then the substring s[i + 1... j - 1] is considered empty.
You are given two strings a and b. Find such values of i and j, that f(a, i, j) = b. Number i should be maximally possible. If for this i there exists several valid values of j, choose the minimal j.
设字符串 s 的长度为 n,其字符编号从 0 到 n−1,i 和 j 为整数,且满足 0≤i<j<n。定义函数 f 如下:
f(s,i,j)=s[i+1…j−1]+r(s[j…n−1])+r(s[0…i]).
其中,s[p…q] 表示字符串 s 中从位置 p 开始、到位置 q 结束(含端点)的子串;“+” 表示字符串连接运算符;r(x) 表示将字符串 x 的所有字符逆序排列后得到的字符串。若 j=i+1,则子串 s[i+1…j−1] 视为空串。
给定两个字符串 a 和 b,请找出满足 f(a,i,j)=b 的 i 和 j。要求 i 尽可能大;若存在多个满足条件的 j 对应此最大 i,则选择其中最小的 j。
输入格式
The first two input lines are non-empty strings a and b correspondingly. Each string's length does not exceed 106 characters. The strings can contain any characters with ASCII codes from 32 to 126 inclusive.
前两行输入分别为非空字符串 a 和 b。每个字符串的长度均不超过 106 个字符。字符串中可包含 ASCII 码值在 32 到 126(含)之间的任意字符。
输出格式
Print two integers i, j — the answer to the problem. If no solution exists, print "-1 -1" (without the quotes).
输出两个整数 i、j —— 即该问题的答案。若无解,则输出 -1 -1(不带引号)。
输入输出样例
输入#1
Die Polizei untersucht eine Straftat im IT-Bereich. untersucht eine Straftat.hciereB-TI mi ieziloP eiD
输出#1
11 36
输入#2
cbaaaa aaaabc
输出#2
4 5
输入#3
123342 3324212
输出#3
-1 -1
输入解题思路,AI测评打分。不知道怎么写?