一个对拍用数据生成器&如果你20分了
查看原帖
一个对拍用数据生成器&如果你20分了
151415
Edward1002001FJ-321625楼主2022/4/4 14:20

pushup\text{pushup}的时候多加几个取模

#include<cstdio>
#include<algorithm>
#include<vector>
#include<cstring>
#include<ctime>
#include<cstdlib>
const int mod=100;
int n,m;
inline int f(){return ((rand()<<16)+rand());}
char s[100007];
struct q{int d,l,lt;};
std::vector<q> v;
int main()
{
	srand(time(NULL));
	m=mod;n=f()%mod+1;
	for(int i=1;i<=n;++i)s[i]=rand()%26+'a';
	for(int i=1;i<=n/3;++i)
	{
		int l=f()%n+1,r=f()%n+1,lt=f()%(n-r+1)+1;
		memmove(s+l,s+r,lt);v.push_back({r-l,l,lt});
	}
	s[n+1]=0;puts(s+1);
	printf("%d\n",m);
	while(m--)
	{
		int x,y;
		while(1)
		{
			q s=v[f()%v.size()];
			x=f()%s.lt+s.l,y=x+s.d;
			if(x>0&&x<=n&&y>0&&y<=n)break;
		}
		printf("Q %d %d\n",x,y);
	}
	return 0;
}
2022/4/4 14:20
加载中...