UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#210904#2067. 肉夹馍czh12345600ms1252kbC++11882b2024-08-08 09:42:432024-08-08 14:27:44

answer

#include <bits/stdc++.h>
using namespace std;
#define FILE(x) freopen(x".in", "r", stdin);freopen(x".out", "w", stdout);
int n, cnt, nxt[2000001], ans[2000001];
string s;
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin >> s;
	n = s.size();
    int k = 1;
    while (k < n){
        if (s[cnt] == s[k]){
        	cnt++;
            nxt[k] = cnt;
            if ((cnt << 1) <= k){
            	ans[k] = cnt;
			} else {
				cnt--;
	        	if (!cnt){
	        		nxt[k] = 0;
	        		ans[k] = 0;
	        		k++;
				} else {
					cnt = nxt[cnt - 1];
				}
				k--;
			}
            k++;
        } else {
        	if (!cnt){
        		nxt[k] = 0;
        		ans[k] = 0;
        		k++;
			} else {
				cnt = nxt[cnt - 1];
			}
		}
    }
    for (int i = 0; i < n; i++){
    	cout << ans[i] << " ";
	}
	return 0;
}

详细

小提示:点击横条可展开更详细的信息

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 10
Accepted
time: 0ms
memory: 1252kb

input:

qpbvqpbvqpbvavdqpbvqpbvqpbvavdqpbvqpbvqpbvavdfnfninqpbvqpbvqpbvavdqpbvqpbvqpbvavdqpbvqpbvqpbvavd

output:

0 0 0 0 1 2 3 0 1 2 3 4 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...

result:

ok 96 tokens

Test #2:

score: 0
Accepted
time: 0ms
memory: 1248kb

input:

wfalgbgweavpwhfahfewhavweahuwbvbqvuivhuiaehufuaeuvdafuivjafislfhbibcuuiabcuibsv

output:

0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 79 tokens

Test #3:

score: -10
Wrong Answer
time: 0ms
memory: 1252kb

input:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

output:

0 0 1 1 2 1 2 3 4 2 3 4 5 6 7 3 4 5 6 7 8 9 10 11 12 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 8 9 ...

result:

wrong answer 6th words differ - expected: '2', found: '1'

Subtask #2:

score: 0
Skipped

Subtask #3:

score: 0
Skipped

Subtask #4:

score: 0
Skipped