2020 三元组最小距离
代码思路:三重循环直接拿下
代码实现:
#include<iostream>
using namespace std;
int main()
{
int j, k, l;
int a, b, c;
int Min = 999999;
int distance = 0;
cin >> j;
int* arr = new int[j];
for (int i = 0; i < j; i++)
{
cin >> arr[i];
}
cin >> k;
int* arr1 = new int[k];
for (int i = 0; i < k; i++)
{
cin >> arr1[i];
}
cin >> l;
int* arr2 = new int[l];
for (int i = 0; i < l; i++)
{
cin >> arr2[i];
}
for (int i = 0; i < j; i++)
{
for (int p = 0; p < k; p++)
{
for (int q = 0; q < j; q++)
{
distance = abs(arr[i] - arr1[p]) + abs(arr1[p] - arr2[q]) + abs(arr[i] - arr2[q]);
if (distance < Min)
{
Min = distance;
a = arr[i];
b = arr1[p];
c = arr2[q];
}
}
}
}
cout << "最短距离:" << Min << endl;
cout << "对应三元组:(" << a << "," << b << "," << c<<")";
}