rt,第一篇题解在 HydroOJ 上提交时为 WA(link)。
原因为此题解中的代码有时会在右括号前多输出一个空格。
数据生成器:
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<ctime>
#include<random>
#include<map>
using namespace std;
//pair<int, int> e[1000005];
//map< pair<int, int>, bool > h;
typedef long long LL;
constexpr int N=5,M=7,K=5;
LL a[N], len[N];string s;
//LL random(LL l, LL r) {return rand()%(r-l+1)+l;}
mt19937_64 rnd(time(0));
LL random(LL l, LL r) {return rnd()%(r-l+1)+l;}
int main()
{
// freopen("text.in", "w", stdout);
LL T=random(1, 1000);
while (T--)
{
LL n=random(1, 120);
for (int i=1;i<=n;i++)
{
int x=random(1, 55);
if (1<=x&&x<=26) printf("%c", char(x+'a'-1));
else if (27<=x&&x<=52)
{
printf("%c", char(x+'A'-27));
int y=random(1, 2);
if (y==2)
{
int k=random(1, 30);
for (int i=1;i<=k;i++) printf("%c", char(random(1, 26)+'a'-1));
printf(" ");i+=k+1;
}
}
else if (x==53) printf(",");
else if (x==54) printf(".");
else printf(" ");
}
puts("");
}
// printf("%lld\n", n);
// for (int i=1;i<n;i++)
// {
// int fa=random(1, i);
// e[i]=make_pair(fa, i+1);
// h[e[i]]=h[make_pair(i+1, fa)]=1;
// }
// for (int i=1;i<n;i++)
// printf("%d %d\n", e[i].first, e[i].second);
// for (int i=1;i<=n;i++) printf("%lld ", random(1, 10));
// for (int i=n;i<=m;i++)
// {
// int x, y;
// do
// {
// x=random(1, n), y=random(1, n);
// } while (x==y||h[make_pair(x, y)]);
// e[i]=make_pair(x, y);
// h[e[i]]=1;
// }
// random_shuffle(e+1, e+m+1);
// for (int i=1;i<=m;i++)
// printf("%d %d\n", e[i].first, e[i].second);
return 0;
}
//