QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#800834#9535. Arrow a Rowdaniel14311531AC ✓22ms5496kbC++141.0kb2024-12-06 16:03:432024-12-06 16:03:43

Judging History

This is the latest submission verdict.

  • [2024-12-06 16:03:43]
  • Judged
  • Verdict: AC
  • Time: 22ms
  • Memory: 5496kb
  • [2024-12-06 16:03:43]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
int n;
string s;

void solve() {
	cin >> s;
	n = s.size();
	int cnt = 0;
	for(int i = n - 1; ~i; i--) {
		if(s[i] != '>') break;
		++cnt;
	}
	if(cnt == n || cnt < 3 || s[0] != '>') {
		cout << "No\n"; return ;
	}
	vector<pair<int, int> > op;
	vector<int> pos;
	for(int i = 0; i + 1 < n; i++) {
		if(s[i] == '>' && s[i + 1] == '-') {
			int j = i;
			for(; j > 0 && s[j - 1] == '>'; --j);
			for(int k = j; k <= i; k++) {
				pos.push_back(k);
			}
		}
	}
	reverse(pos.begin(), pos.end());
	for(auto v : pos) {
		op.push_back({v + 1, n - cnt + 3});
		cnt -= 3;
		if(cnt < 3) cnt = 3;
	}
	for(; cnt > 3; cnt -= 3) {
		op.push_back({1, n - cnt + 3});
	}
	op.push_back({1, n});
	reverse(op.begin(), op.end());
	cout << "Yes " << op.size() << "\n";
	for(auto v : op) cout << v.first << " " << v.second - v.first + 1 << "\n";
}
int main() {
	ios::sync_with_stdio(0); cin.tie(nullptr);
	int T; cin >> T;
	for(; T; --T) solve();
	return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3632kb

input:

4
>>->>>
>>>->
>>>>>
>->>>>>>

output:

Yes 3
1 6
1 6
2 5
No
No
Yes 2
1 8
1 5

result:

ok ok (4 test cases)

Test #2:

score: 0
Accepted
time: 1ms
memory: 3804kb

input:

126
>->-->>>>
>--->->>>>
>--->-->>>
>>-->->>>
>>-->>>>>
>>->->>>>
>>->>->>>>
>-->->->>>
>->->>>>>>
>->>>
>->->>>>>
>>>->->>>
>>->>>>>>>
>>>>>->>>
>->>>->>>
>>--->->>>
>>->>>>
>->>>>->>>
>>>>-->>>
>---->>>
>>>---->>>
>>>>->>>>
>->>-->>>
>-->-->>>>
>>---->>>
>>--->>>
>->>>-->>>
>>-->>>>
>>---->>>>
>>-...

output:

Yes 3
1 9
1 9
3 6
Yes 3
1 10
1 10
5 5
Yes 3
1 10
1 10
5 6
Yes 4
1 9
1 9
2 8
5 5
Yes 3
1 9
1 9
2 6
Yes 4
1 9
1 9
2 8
4 5
Yes 5
1 10
1 10
2 9
4 7
5 5
Yes 4
1 10
1 10
4 7
6 5
Yes 3
1 10
1 10
3 5
Yes 2
1 5
1 5
Yes 3
1 9
1 9
3 5
Yes 5
1 9
1 9
2 8
3 7
5 5
Yes 3
1 10
1 9
2 5
Yes 6
1 9
1 9
2 8
3 7
4 6
5 5
Y...

result:

ok ok (126 test cases)

Test #3:

score: 0
Accepted
time: 4ms
memory: 3648kb

input:

4032
>>--->>>>>>>>
>->>->->-->->>>
>>--->>--->>>
>>->->->>>>>>>>
>->---->->>>
>->>->>---->>>>
>>>>>>>>->>>>
>->>>--->>>->>>
>->>->>-->>>>>>
>->>-->---->>>
>-->--->>>->>>
>->---->>-->>>>
>>------>>>
>>>-->>--->>>>>
>->->->>-->>>>
>->->-->>->->>>
>>->>>>-->->>>>
>>>-->>->--->>>
>->->>>>>->>>>
>>-->->>...

output:

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

result:

ok ok (4032 test cases)

Test #4:

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

input:

10000
>>>>->->>->>->>>>
>->-->>->>->>>>>>
>->->>-->--->>>>>
>---->-->->>>>>>>
>->-->>--->>->>>>
>->>->>>>>>-->>>
>>--->->-->>->>>
>-->---->>>->>>
>->----->->->>>>>
>>--->---->-->>>>
>>-->->->--->>>
>----->>-->>->>>>
>-->->->>>>>->>>>
>>->>---->-->>>
>>->>-->>>-->>>
>------>->>>->>>>
>->->-->->>>->>>...

output:

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

result:

ok ok (10000 test cases)

Test #5:

score: 0
Accepted
time: 16ms
memory: 3692kb

input:

10000
>>>-->>>>-->---->->->-->>>
>>-->>>>->-->>->>>
>->-->--->--->->-->>--->>->->>-->->->>>>>>->>>>----->->--->>----->>-->>>----->->->>>--->>->>-->->->->---->>->>>-->>->->>>->->>>>->>->->>-->>>->>->>-->>>>-->>-->>>->>->->>>--->>>-->>>--->>->->>>>>->->---->>>>->>>
->->>>>--->>>>>>->>>->>>>->->-->-->>...

output:

Yes 12
1 26
1 26
2 25
3 24
6 21
7 20
8 19
9 18
12 15
17 10
19 8
21 6
Yes 10
1 18
1 18
2 17
5 14
6 13
7 12
8 11
10 9
13 6
14 5
Yes 111
1 211
1 211
3 209
6 206
10 202
14 198
16 196
19 193
20 192
24 188
25 187
27 185
29 183
30 182
33 179
35 177
37 175
38 174
39 173
40 172
41 171
42 170
44 168
45 167
46...

result:

ok ok (10000 test cases)

Test #6:

score: 0
Accepted
time: 12ms
memory: 3652kb

input:

9999
->->--->>>>->->--->>--
->>>--->>>-->>--->>---
-->>>>>>>-
>>>->>>>>>>--
>>-->-->->----->->>>>->>->---->->
>-->->>>--->->->>->->-
>->--->--->>>>->>>----->------>>-->->>>
>>->>>->>>---->>>->>>>>>>>>->--->>->>>>>-->>>->->->>-->->--->->-->->>->->->>-->-->>>>>>>>--->>--->->>>-->->----->>-->->>--->-->...

output:

No
No
No
No
No
No
Yes 15
1 39
1 39
3 37
7 33
11 29
12 28
13 27
14 26
16 24
17 23
18 22
24 16
31 9
32 8
35 5
Yes 70
1 129
1 129
2 128
4 126
5 125
6 124
8 122
9 121
10 120
15 115
16 114
17 113
19 111
20 110
21 109
22 108
23 107
24 106
25 105
26 104
27 103
29 101
33 97
34 96
36 94
37 93
38 92
39 91
40 ...

result:

ok ok (9999 test cases)

Test #7:

score: 0
Accepted
time: 7ms
memory: 4456kb

input:

5
>-->>>>>--->->->>->>>>>->->-->-->->>>-->->--->>>------>->>-->>>------->>---->-->>>>>>-->>--->>-->->->>>>->-->------>>->>>>->>>-->---->--->>-->-->->--->->->->->>->-->->--->>>>->>->--->->>-->>>>>>->>>>->>--->->>-->>->->---->>>->->>->>->--->->->-->->>->->-->->------>>>->>>>>->>-->>->>>->>>>>----->---...

output:

No
No
Yes 48172
1 95948
1 95948
2 95947
3 95946
5 95944
6 95943
7 95942
9 95940
10 95939
12 95937
17 95932
18 95931
19 95930
20 95929
22 95927
23 95926
24 95925
26 95923
27 95922
28 95921
30 95919
33 95916
34 95915
36 95913
37 95912
39 95910
40 95909
41 95908
42 95907
44 95905
45 95904
46 95903
47 9...

result:

ok ok (5 test cases)

Test #8:

score: 0
Accepted
time: 22ms
memory: 5496kb

input:

5
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>...

output:

No
Yes 99996
1 100000
1 100000
2 99999
3 99998
4 99997
5 99996
6 99995
7 99994
8 99993
9 99992
10 99991
11 99990
12 99989
13 99988
14 99987
15 99986
16 99985
17 99984
18 99983
19 99982
20 99981
21 99980
22 99979
23 99978
24 99977
25 99976
26 99975
27 99974
28 99973
29 99972
30 99971
31 99970
32 9996...

result:

ok ok (5 test cases)

Test #9:

score: 0
Accepted
time: 17ms
memory: 3940kb

input:

20
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>...

output:

Yes 19002
1 25000
1 25000
2 24999
3 24998
4 24997
5 24996
6 24995
7 24994
8 24993
9 24992
10 24991
11 24990
12 24989
13 24988
14 24987
15 24986
16 24985
17 24984
18 24983
19 24982
20 24981
21 24980
22 24979
23 24978
24 24977
25 24976
26 24975
27 24974
28 24973
29 24972
30 24971
31 24970
32 24969
33 ...

result:

ok ok (20 test cases)

Test #10:

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

input:

20
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>...

output:

Yes 7574
1 25000
1 24998
1 24995
1 24992
1 24989
1 24986
1 24983
1 24980
1 24977
1 24974
1 24971
1 24968
1 24965
1 24962
1 24959
1 24956
1 24953
1 24950
1 24947
1 24944
1 24941
1 24938
1 24935
1 24932
1 24929
1 24926
1 24923
1 24920
1 24917
1 24914
1 24911
1 24908
1 24905
1 24902
1 24899
1 24896
1 2...

result:

ok ok (20 test cases)

Extra Test:

score: 0
Extra Test Passed