#include <bits/stdc++.h>
using namespace std;
int main()
{
int T;
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> T;
while(T--)
{
string a,b;
cin >> a >> b ;
int i;
int c=0;
priority_queue<int,vector<int>,greater<int>>oo,ee;
for(i=0;i<a.size();i++)
{
if(a[i]=='X')
{
if(c>1)
{
if(c%2)
ee.push(c-1);
else
oo.push(c-1);
}
c=0;
}
else
c++;
}
if(c>1)
{
if(c%2)
ee.push(c-1);
else
oo.push(c-1);
}
int s=0,en=b.size()+1;
while(s!=en)
{
priority_queue<int,vector<int>,greater<int>>o,e;
o=oo;
e=ee;
int m=(s+en)/2;
int three=0,two=0;
for(i=0;i<m;i++)
{
if(b[i]=='M')
two++;
else
three++;
}
for(i=0;i<three+two;i++)
{
if(i>=three)
{
if(e.size())
{
int c=e.top()-2;
e.pop();
if(c>0)
e.push(e.top()-2);
}
else if(o.size())
{
int c=o.top()-2;
o.pop();
if(c>0)
o.push(c);
}
}
else
{
if(o.size())
{
int c=o.top()-3;
o.pop();
if(c>0)
e.push(c);
}
else if(e.size())
{
int c=e.top()-3;
e.pop();
if(c>0)
o.push(c);
}
}
}
if(e.size()||o.size())
s=m+1;
else
en=m;
}
for(i=0;i<s;i++)
cout <<'Y';
for(i=s;i<=b.size();i++)
cout <<'N';
cout <<'\n';
}
}
Compilation message
Main.cpp: In function 'int main()':
Main.cpp:16:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
16 | for(i=0;i<a.size();i++)
| ~^~~~~~~~~
Main.cpp:101:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
101 | for(i=s;i<=b.size();i++)
| ~^~~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
24 ms |
716 KB |
Output is correct |
2 |
Correct |
24 ms |
528 KB |
Output is correct |
3 |
Correct |
41 ms |
552 KB |
Output is correct |
4 |
Correct |
37 ms |
784 KB |
Output is correct |
5 |
Correct |
22 ms |
460 KB |
Output is correct |
6 |
Correct |
37 ms |
928 KB |
Output is correct |
7 |
Correct |
21 ms |
500 KB |
Output is correct |
8 |
Correct |
38 ms |
664 KB |
Output is correct |
9 |
Correct |
33 ms |
688 KB |
Output is correct |
10 |
Correct |
22 ms |
460 KB |
Output is correct |
11 |
Correct |
42 ms |
648 KB |
Output is correct |
12 |
Correct |
28 ms |
768 KB |
Output is correct |
13 |
Correct |
21 ms |
468 KB |
Output is correct |
14 |
Correct |
51 ms |
568 KB |
Output is correct |
15 |
Correct |
31 ms |
452 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
39 ms |
732 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
145 ms |
712 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
24 ms |
716 KB |
Output is correct |
2 |
Correct |
24 ms |
528 KB |
Output is correct |
3 |
Correct |
41 ms |
552 KB |
Output is correct |
4 |
Correct |
37 ms |
784 KB |
Output is correct |
5 |
Correct |
22 ms |
460 KB |
Output is correct |
6 |
Correct |
37 ms |
928 KB |
Output is correct |
7 |
Correct |
21 ms |
500 KB |
Output is correct |
8 |
Correct |
38 ms |
664 KB |
Output is correct |
9 |
Correct |
33 ms |
688 KB |
Output is correct |
10 |
Correct |
22 ms |
460 KB |
Output is correct |
11 |
Correct |
42 ms |
648 KB |
Output is correct |
12 |
Correct |
28 ms |
768 KB |
Output is correct |
13 |
Correct |
21 ms |
468 KB |
Output is correct |
14 |
Correct |
51 ms |
568 KB |
Output is correct |
15 |
Correct |
31 ms |
452 KB |
Output is correct |
16 |
Incorrect |
39 ms |
732 KB |
Output isn't correct |
17 |
Halted |
0 ms |
0 KB |
- |