QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#704345#9535. Arrow a Rowucup-team134#AC ✓31ms5620kbC++141.8kb2024-11-02 19:48:472024-11-02 19:48:52

Judging History

This is the latest submission verdict.

  • [2024-11-02 19:48:52]
  • Judged
  • Verdict: AC
  • Time: 31ms
  • Memory: 5620kb
  • [2024-11-02 19:48:47]
  • Submitted

answer

#include<bits/stdc++.h>
#define ff first
#define ss second
#define pb push_back
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;

const int mod=998244353;
inline int add(int x,int y){int ret=x+y;if(ret>=mod)ret-=mod;return ret;}
inline int sub(int x,int y){int ret=x-y;if(ret<0)ret+=mod;return ret;}
inline int mul(int x,int y){return ((ll)x*y)%mod;}
inline int step(int base,int pw){int ret=1;while(pw){if(pw&1)ret=mul(ret,base);base=mul(base,base);pw>>=1;}return ret;}
inline int invv(int x){return step(x,mod-2);}

const int maxn=1e5+10;

bool check(string& s){

    if(s[0]!='>')return false;
    int cnt=0;
    int n=s.size();
    for(int i=n-1;i>=0;i--){
        if(s[i]=='-')break;
        cnt++;
    }
    if(cnt<3)return false;
    if(cnt==n)return false;
    return true;
}

int main(){

    ///freopen("test.txt","r",stdin);

    int t;
    scanf("%d",&t);
    while(t--){

        string s;
        cin>>s;
        if(!check(s)){
            printf("No\n");
            continue;
        }
        printf("Yes ");

        int cnt=0;
        int n=s.size();
        int fin=n;
        for(int i=n-1;i>=0;i--){
            if(s[i]=='-')break;
            cnt++;
        }
        fin-=cnt;

        vector<pii>rez;
        int n2=n;
        while(cnt>3){
            rez.pb({n2-5,n2-1});
            n2-=3;
            cnt-=3;
        }

        int prv=0;
        for(int i=0;i<fin;i++){
            if(s[i]=='-'){
                rez.pb({prv,i+3});
            }
            else{
                prv=i;
                rez.pb({i,i+5-1});
            }
        }

        printf("%d\n",rez.size());
        for(int i=0;i<rez.size();i++){
            printf("%d %d\n",rez[i].ff+1,rez[i].ss-rez[i].ff+1);
        }

    }

    return 0;
}

详细

Test #1:

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

input:

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

output:

Yes 3
1 5
2 5
2 5
No
No
Yes 3
4 5
1 5
1 5

result:

ok ok (4 test cases)

Test #2:

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

input:

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

output:

Yes 6
5 5
1 5
1 5
3 5
3 5
3 6
Yes 7
6 5
1 5
1 5
1 6
1 7
5 5
5 5
Yes 7
1 5
1 5
1 6
1 7
5 5
5 5
5 6
Yes 6
1 5
2 5
2 5
2 6
5 5
5 5
Yes 5
5 5
1 5
2 5
2 5
2 6
Yes 6
5 5
1 5
2 5
2 5
4 5
4 5
Yes 7
6 5
1 5
2 5
2 5
4 5
5 5
5 5
Yes 7
1 5
1 5
1 6
4 5
4 5
6 5
6 5
Yes 5
6 5
1 5
1 5
3 5
3 5
Yes 2
1 5
1 5
Yes 5
5 ...

result:

ok ok (126 test cases)

Test #3:

score: 0
Accepted
time: 6ms
memory: 3856kb

input:

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

output:

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

result:

ok ok (4032 test cases)

Test #4:

score: 0
Accepted
time: 15ms
memory: 4112kb

input:

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

output:

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

result:

ok ok (10000 test cases)

Test #5:

score: 0
Accepted
time: 21ms
memory: 3780kb

input:

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

output:

Yes 23
1 5
2 5
3 5
3 5
3 6
6 5
7 5
8 5
9 5
9 5
9 6
12 5
12 5
12 6
12 7
12 8
17 5
17 5
19 5
19 5
21 5
21 5
21 6
Yes 15
1 5
2 5
2 5
2 6
5 5
6 5
7 5
8 5
8 5
10 5
10 5
10 6
13 5
14 5
14 5
Yes 208
1 5
1 5
3 5
3 5
3 6
6 5
6 5
6 6
6 7
10 5
10 5
10 6
10 7
14 5
14 5
16 5
16 5
16 6
19 5
20 5
20 5
20 6
20 7
24...

result:

ok ok (10000 test cases)

Test #6:

score: 0
Accepted
time: 26ms
memory: 4124kb

input:

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

output:

No
No
No
No
No
No
Yes 36
1 5
1 5
3 5
3 5
3 6
3 7
7 5
7 5
7 6
7 7
11 5
12 5
13 5
14 5
14 5
16 5
17 5
18 5
18 5
18 6
18 7
18 8
18 9
24 5
24 5
24 6
24 7
24 8
24 9
24 10
31 5
32 5
32 5
32 6
35 5
35 5
Yes 126
1 5
2 5
2 5
4 5
5 5
6 5
6 5
8 5
9 5
10 5
10 5
10 6
10 7
10 8
15 5
16 5
17 5
17 5
19 5
20 5
21 5
...

result:

ok ok (9999 test cases)

Test #7:

score: 0
Accepted
time: 19ms
memory: 5400kb

input:

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

output:

No
No
Yes 95945
1 5
2 5
3 5
3 5
5 5
6 5
7 5
7 5
9 5
10 5
10 5
12 5
12 5
12 6
12 7
12 8
17 5
18 5
19 5
20 5
20 5
22 5
23 5
24 5
24 5
26 5
27 5
28 5
28 5
30 5
30 5
30 6
33 5
34 5
34 5
36 5
37 5
37 5
39 5
40 5
41 5
42 5
42 5
44 5
45 5
46 5
47 5
47 5
47 6
47 7
51 5
51 5
51 6
54 5
54 5
54 6
54 7
54 8
54 ...

result:

ok ok (5 test cases)

Test #8:

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

input:

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

output:

No
Yes 99997
99996 5
1 5
2 5
3 5
4 5
5 5
6 5
7 5
8 5
9 5
10 5
11 5
12 5
13 5
14 5
15 5
16 5
17 5
18 5
19 5
20 5
21 5
22 5
23 5
24 5
25 5
26 5
27 5
28 5
29 5
30 5
31 5
32 5
33 5
34 5
35 5
36 5
37 5
38 5
39 5
40 5
41 5
42 5
43 5
44 5
45 5
46 5
47 5
48 5
49 5
50 5
51 5
52 5
53 5
54 5
55 5
56 5
57 5
58 ...

result:

ok ok (5 test cases)

Test #9:

score: 0
Accepted
time: 26ms
memory: 4096kb

input:

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

output:

Yes 21002
24996 5
24993 5
24990 5
24987 5
24984 5
24981 5
24978 5
24975 5
24972 5
24969 5
24966 5
24963 5
24960 5
24957 5
24954 5
24951 5
24948 5
24945 5
24942 5
24939 5
24936 5
24933 5
24930 5
24927 5
24924 5
24921 5
24918 5
24915 5
24912 5
24909 5
24906 5
24903 5
24900 5
24897 5
24894 5
24891 5
24...

result:

ok ok (20 test cases)

Test #10:

score: 0
Accepted
time: 31ms
memory: 3996kb

input:

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

output:

Yes 9852
24996 5
24993 5
24990 5
24987 5
24984 5
24981 5
24978 5
24975 5
24972 5
24969 5
24966 5
24963 5
24960 5
24957 5
24954 5
24951 5
24948 5
24945 5
24942 5
24939 5
24936 5
24933 5
24930 5
24927 5
24924 5
24921 5
24918 5
24915 5
24912 5
24909 5
24906 5
24903 5
24900 5
24897 5
24894 5
24891 5
248...

result:

ok ok (20 test cases)

Extra Test:

score: 0
Extra Test Passed