比较水的模拟,注意读题,input虽然分行给出,但实际是要连在一起处理的,换行符去掉,空格要保留,然后按题意处理完输出时,注意每80个字符换行
#include<cstdio>
#include<vector>
#include<deque>
#include<algorithm>
using namespace std;
int main()
{
int N;
scanf("%d", &N);
vector<char> res;
deque<char> source;
for (int t = 0; t < N; t++)
{
if (t)
putchar('\n');
int n;
scanf("%d", &n);
getchar();
char c;
res.clear();
source.clear();
while (n--)
while ((c = getchar()) != '\n')
source.push_back(c);
bool forward = true;
while ((c = getchar()) != '#')
{
if (c == 'R')
forward = !forward;
if (c == 'G')
{
if (forward)
{
res.push_back(source.front());
source.pop_front();
}
else
{
res.push_back(source.back());
source.pop_back();
}
}
}
size_t i;
for (i = 0; i < res.size(); i++)
{
putchar(res[i]);
if ((i + 1) % 80 == 0)
putchar('\n');
}
if (i % 80)
putchar('\n');
}
return 0;
}