牛客小白月赛35 G.反·反爬虫函数(随机....)

Posted issue是fw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客小白月赛35 G.反·反爬虫函数(随机....)相关的知识,希望对你有一定的参考价值。

LINK

随机一下发现这个函数生成的是非常随机的

于是只需要暴力预处理即可

#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9+7;
const int maxn = 3e5+10;
int n,vis[maxn];
mt19937 rnd(time(0));
char a[maxn],ans[maxn][10];
int calculatetta(char* a) 
{
    int b = 0;
	for (int c = 0; c < strlen(a); ++c) 
	{
		b = (b + (c + 1) * (c + 2) * a[c]) % 1009;
		if (c % 3 == 0) ++b;
		if (c % 2 == 0) b *= 2;
		if (c > 0) b -= ((int) (a[c / 2] / 2)) * (b % 5);
		while (b < 0) b += 1009;
		while (b >= 1009) b -= 1009;
	}
    return b;
}
int main()
{
	int t,res = 0; cin >> t;
	while( res<=1000000 )
	{
		res++;
		for(int i=0;i<8;i++)	a[i] = rnd()%26+'A';
		int x = calculatetta( a );
		if( vis[x] )	continue;
		vis[x] = 1;
		for(int i=0;i<8;i++)	ans[x][i] = a[i];
	}	
	while( t-- )
	{
		cin >> n;
		if( n>=1009 || vis[n]==0 )	cout << -1 << endl;
		else
		{
			for(int i=0;i<8;i++)	cout << ans[n][i];
			cout << endl;
		}
	}	
}

以上是关于牛客小白月赛35 G.反·反爬虫函数(随机....)的主要内容,如果未能解决你的问题,请参考以下文章

牛客小白月赛35 J.溪染的优惠券(贪心01背包)

牛客小白月赛#67(A-D)

牛客小白月赛#69(A-E)

牛客小白月赛52

牛客小白月赛52

牛客小白月赛53 E.Calling(贪心)