QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#712037 | #9535. Arrow a Row | mango09 | AC ✓ | 18ms | 4700kb | C++14 | 2.4kb | 2024-11-05 14:22:11 | 2024-11-05 14:22:16 |
Judging History
answer
// Ice cream? I scream!
#include <bits/stdc++.h>
#ifdef ONLINE_JUDGE
#define freopen Chitanda
#endif
#define wjy namespace
#define xsy std
typedef long long ll;
using wjy xsy;
template<typename T> void debug(string s, T x) {cerr << " " << s << " = " << x << " \n";}
template<typename T, typename... Args> void debug(string s, T x, Args... args) {for (int i = 0, b = 0; i < (int)s.size(); i++) if (s[i] == '(' || s[i] == '{') b++;else if (s[i] == ')' || s[i] == '}') b--;else if (s[i] == ',' && b == 0) {cerr << " " << s.substr(0, i) << " = " << x << " |";debug(s.substr(s.find_first_not_of(' ', i + 1)), args...);break;}}
#ifdef ONLINE_JUDGE
#define Debug(...)
#else
#define Debug(...) debug(#__VA_ARGS__, __VA_ARGS__)
#endif
const int MAXN = 1e6 + 5;
char s[MAXN];
vector<pair<int, int> > ans;
queue<int> q;
stack<int> p;
int main()
{
int T;
scanf("%d", &T);
while (T--)
{
ans.clear();
while (!q.empty())
q.pop();
while (!p.empty())
p.pop();
scanf("%s", s + 1);
int n = strlen(s + 1);
bool flg = true;
for (int i = n; i >= n - 2; i--)
flg &= (s[i] == '>');
if (!flg)
{
puts("No");
continue;
}
flg = false;
for (int i = 1; i <= n; i++)
flg |= (s[i] == '-');
if (!flg)
{
puts("No");
continue;
}
if (s[1] != '>')
{
puts("No");
continue;
}
int pos;
for (pos = 1; pos <= n; pos++)
if (s[pos] != '>')
break;
pos--;
flg = true;
for (int i = n; i > pos; i--)
{
bool x = (i >= 3) && s[i] == '>' && s[i - 1] == '>' && s[i - 2] == '>' && (i - 2 >= 3);
bool y = (i <= n - 1) && (i - 1 >= 3) && s[i] == '>' && s[i - 1] == '>' && s[i + 1] == '>';
bool z = (i <= n - 2) && (i >= 3) && s[i] == '>' && s[i + 1] == '>' && s[i + 2] == '>';
if (flg && i >= 3 && x)
q.push(i), i -= 2;
else if (flg && i >= 2 && y)
q.push(i + 1), i--;
else if (flg && i >= 2 && z)
q.push(i + 2);
else if (s[i] == '>')
p.push(i), flg = false;
}
for (int i = pos; i >= 1; i--)
if (s[i] == '>')
p.push(i);
while (p.size() > 1)
{
ans.push_back({p.top(), q.front()});
p.pop();
if (q.size() > 1)
q.pop();
}
while (q.size())
ans.push_back({p.top(), q.front()}), q.pop();
printf("Yes %zu\n", ans.size());
for (auto t : ans)
printf("%d %d\n", t.first, t.second - t.first + 1);
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3740kb
input:
4 >>->>> >>>-> >>>>> >->>>>>>
output:
Yes 2 1 6 2 5 No No Yes 2 1 8 1 5
result:
ok ok (4 test cases)
Test #2:
score: 0
Accepted
time: 0ms
memory: 4104kb
input:
126 >->-->>>> >--->->>>> >--->-->>> >>-->->>> >>-->>>>> >>->->>>> >>->>->>>> >-->->->>> >->->>>>>> >->>> >->->>>>> >>>->->>> >>->>>>>>> >>>>>->>> >->>>->>> >>--->->>> >>->>>> >->>>>->>> >>>>-->>> >---->>> >>>---->>> >>>>->>>> >->>-->>> >-->-->>>> >>---->>> >>--->>> >->>>-->>> >>-->>>> >>---->>>> >>-...
output:
Yes 2 1 9 3 6 Yes 2 1 10 5 5 Yes 2 1 10 5 6 Yes 3 1 9 2 8 5 5 Yes 2 1 9 2 6 Yes 3 1 9 2 7 4 5 Yes 4 1 10 2 8 4 6 5 5 Yes 3 1 10 4 7 6 5 Yes 2 1 10 3 5 Yes 1 1 5 Yes 2 1 9 3 5 Yes 4 1 9 2 8 3 7 5 5 Yes 3 1 10 2 6 2 5 Yes 5 1 9 2 8 3 7 4 6 5 5 Yes 2 1 9 1 5 Yes 3 1 10 2 9 6 5 Yes 2 1 7 2 5 Yes 3 1 10 ...
result:
ok ok (126 test cases)
Test #3:
score: 0
Accepted
time: 3ms
memory: 4104kb
input:
4032 >>--->>>>>>>> >->>->->-->->>> >>--->>--->>> >>->->->>>>>>>> >->---->->>> >->>->>---->>>> >>>>>>>>->>>> >->>>--->>>->>> >->>->>-->>>>>> >->>-->---->>> >-->--->>>->>> >->---->>-->>>> >>------>>> >>>-->>--->>>>> >->->->>-->>>> >->->-->>->->>> >>->>>>-->->>>> >>>-->>->--->>> >->->>>>>->>>> >>-->->>...
output:
Yes 3 1 13 2 9 2 7 Yes 6 1 15 3 13 4 12 6 10 8 8 11 5 Yes 4 1 13 2 12 6 8 7 7 Yes 4 1 15 2 11 4 7 6 5 Yes 3 1 12 3 10 8 5 Yes 5 1 15 3 12 4 11 6 9 7 8 Yes 8 1 13 2 11 3 10 4 9 5 8 6 7 7 6 8 5 Yes 3 1 15 1 11 1 5 Yes 5 1 15 3 10 4 9 6 7 7 6 Yes 4 1 14 3 12 4 11 7 8 Yes 2 1 14 4 7 Yes 4 1 15 3 12 8 7 ...
result:
ok ok (4032 test cases)
Test #4:
score: 0
Accepted
time: 7ms
memory: 4020kb
input:
10000 >>>>->->>->>->>>> >->-->>->>->>>>>> >->->>-->--->>>>> >---->-->->>>>>>> >->-->>--->>->>>> >->>->>>>>>-->>> >>--->->-->>->>> >-->---->>>->>> >->----->->->>>>> >>--->---->-->>>> >>-->->->--->>> >----->>-->>->>>> >-->->->>>>>->>>> >>->>---->-->>> >>->>-->>>-->>> >------>->>>->>>> >->->-->->>>->>>...
output:
Yes 9 1 17 2 15 3 14 4 13 6 11 8 9 9 8 11 6 12 5 Yes 6 1 17 3 12 6 9 7 8 9 6 10 5 Yes 5 1 17 3 13 5 11 6 10 9 7 Yes 3 1 17 6 9 9 5 Yes 6 1 17 3 14 6 11 7 10 11 6 12 5 Yes 3 1 16 3 9 4 5 Yes 6 1 16 2 15 6 11 8 9 11 6 12 5 Yes 2 1 15 4 8 Yes 4 1 17 3 13 9 7 11 5 Yes 4 1 17 2 15 6 11 11 6 Yes 5 1 15 2 ...
result:
ok ok (10000 test cases)
Test #5:
score: 0
Accepted
time: 13ms
memory: 3816kb
input:
10000 >>>-->>>>-->---->->->-->>> >>-->>>>->-->>->>> >->-->--->--->->-->>--->>->->>-->->->>>>>>->>>>----->->--->>----->>-->>>----->->->>>--->>->>-->->->->---->>->>>-->>->->>>->->>>>->>->->>-->>>->>->>-->>>>-->>-->>>->>->->>>--->>>-->>>--->>->->>>>>->->---->>>>->>> ->->>>>--->>>>>>->>>->>>>->->-->-->>...
output:
Yes 11 1 26 2 25 3 24 6 21 7 20 8 19 9 18 12 15 17 10 19 8 21 6 Yes 9 1 18 2 17 5 14 6 13 7 12 8 11 10 9 13 6 14 5 Yes 106 1 211 3 205 6 201 10 197 14 193 16 191 19 188 20 187 24 183 25 182 27 180 29 178 30 177 33 174 35 172 37 170 38 169 39 168 40 167 41 166 42 165 44 163 45 162 46 161 47 160 53 15...
result:
ok ok (10000 test cases)
Test #6:
score: 0
Accepted
time: 14ms
memory: 3812kb
input:
9999 ->->--->>>>->->--->>-- ->>>--->>>-->>--->>--- -->>>>>>>- >>>->>>>>>>-- >>-->-->->----->->>>>->>->---->-> >-->->>>--->->->>->->- >->--->--->>>>->>>----->------>>-->->>> >>->>>->>>---->>>->>>>>>>>>->--->>->>>>>-->>>->->->>-->->--->->-->->>->->->>-->-->>>>>>>>--->>--->->>>-->->----->>-->->>--->-->...
output:
No No No No No No Yes 14 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 69 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 90 43 87 44...
result:
ok ok (9999 test cases)
Test #7:
score: 0
Accepted
time: 12ms
memory: 4232kb
input:
5 >-->>>>>--->->->>->>>>>->->-->-->->>>-->->--->>>------>->>-->>>------->>---->-->>>>>>-->>--->>-->->->>>>->-->------>>->>>>->>>-->---->--->>-->-->->--->->->->->>->-->->--->>>>->>->--->->>-->>>>>>->>>>->>--->->>-->>->->---->>>->->>->>->--->->->-->->>->->-->->------>>>->>>>>->>-->>->>>->>>>>----->---...
output:
No No Yes 48167 1 95948 2 95943 3 95941 5 95939 6 95938 7 95937 9 95935 10 95934 12 95932 17 95927 18 95926 19 95925 20 95924 22 95922 23 95921 24 95920 26 95918 27 95917 28 95916 30 95914 33 95911 34 95910 36 95908 37 95907 39 95905 40 95904 41 95903 42 95902 44 95900 45 95899 46 95898 47 95897 51 ...
result:
ok ok (5 test cases)
Test #8:
score: 0
Accepted
time: 18ms
memory: 4700kb
input:
5 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>...
output:
No Yes 99995 1 100000 2 99998 3 99997 4 99996 5 99995 6 99994 7 99993 8 99992 9 99991 10 99990 11 99989 12 99988 13 99987 14 99986 15 99985 16 99984 17 99983 18 99982 19 99981 20 99980 21 99979 22 99978 23 99977 24 99976 25 99975 26 99974 27 99973 28 99972 29 99971 30 99970 31 99969 32 99968 33 9996...
result:
ok ok (5 test cases)
Test #9:
score: 0
Accepted
time: 8ms
memory: 3984kb
input:
20 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>...
output:
Yes 11294 1 25000 2 24996 3 24992 4 24988 5 24984 6 24980 7 24976 8 24972 9 24968 10 24964 11 24960 12 24956 13 24952 14 24948 15 24944 16 24940 17 24936 18 24932 19 24928 20 24924 21 24920 22 24916 23 24912 24 24908 25 24904 26 24900 27 24896 28 24892 29 24888 30 24884 31 24880 32 24876 33 24872 34...
result:
ok ok (20 test cases)
Test #10:
score: 0
Accepted
time: 8ms
memory: 4000kb
input:
20 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>...
output:
Yes 7574 1 25000 2 24996 3 24992 4 24988 5 24984 6 24980 7 24976 8 24972 9 24968 10 24964 11 24960 12 24956 13 24952 14 24948 15 24944 16 24940 17 24936 18 24932 19 24928 20 24924 21 24920 22 24916 23 24912 24 24908 25 24904 26 24900 27 24896 28 24892 29 24888 30 24884 31 24880 32 24876 33 24872 34 ...
result:
ok ok (20 test cases)
Extra Test:
score: 0
Extra Test Passed