60 分求调
查看原帖
60 分求调
353688
王熙文楼主2021/12/26 20:28

思路就是第一篇题解,我还 #define int long long 了,感觉没啥问题

#include<bits/stdc++.h>
#define int long long
using namespace std;

int vis[1919810];

const int mod=1919810;

signed main()
{
	int t,n,a;
	scanf("%lld",&t);
	while(t--)
	{
		bool flag=0;
		memset(vis,0,sizeof(vis));
		scanf("%lld",&n);
		for(int i=1; i<=n; ++i)
		{
			scanf("%lld",&a);
			if(a==0)
			{
				if(!flag)
				{
					printf("%lld ",a);
					flag=1;
				}
				continue;
			}
			while(vis[(a%mod+mod)%mod]!=0 && vis[(a%mod+mod)%mod]!=a) a=(a%mod+1145141919)%mod;
			if(vis[(a%mod+mod)%mod]==0)
			{
				printf("%lld ",a);
				vis[(a%mod+mod)%mod]=a;
			}
		}
		printf("\n");
	}
	return 0;
}

求调 /kk

2021/12/26 20:28
加载中...