RT。求助大佬这个代码ans期望输出多少?最坏输出多少?(用带 n 的关系式回答)
signed main()
{
srand((unsigned long long)new char);
scanf("%lld",&n);
for(int i = 1;i <= n;i++)
{
a[i] = rand() % n + 1,b[i] = rand() % n + 1;
printf("%lld %lld\n",a[i],b[i]);
int res = 0x3f3f3f3f;
for(int j = 1;j < i;j++)
{
if(abs(a[j] - a[i]) + abs(b[j] - b[i]) < res)
res = abs(a[j] - a[i]) + abs(b[j] - b[i]);
}
if(i != 1)
ans += res;
}
printf("ans = %lld\n",ans);
}
代码翻译:每次加一个点,并求出与这个点曼哈顿距离最小的点的距离,加进ans