assignmentcpp

cpp code

#include #include #include

std::vector findMaxNetworkQualityCoordinate(std::vector<std::vector>& towers, int radius) { int maxQuality = 0; std::vector maxCoordinate = {0, 0};

for (const auto& tower : towers) {
    int xi = tower[0];
    int yi = tower[1];
    int qi = tower[2];

    int distance = std::sqrt(std::pow(maxCoordinate[0] - xi, 2) + std::pow(maxCoordinate[1] - yi, 2));

    if (distance <= radius) {
        int signalQuality = std::floor(qi / (1 + distance));
        int totalQuality = maxQuality + signalQuality;

        if (totalQuality > maxQuality || (totalQuality == maxQuality && maxCoordinate > tower)) {
            maxQuality = totalQuality;
            maxCoordinate = tower;
        }
    }
}

return maxCoordinate;

}

int main() { std::vector<std::vector> towers = {{1, 2, 5}, {2, 1, 7}, {3, 1, 9}}; int radius = 2;

std::vector<int> maxNetworkQualityCoordinate = findMaxNetworkQualityCoordinate(towers, radius);

std::cout << "Max Network Quality Coordinate: [" << maxNetworkQualityCoordinate[0] << ", " << maxNetworkQualityCoordinate[1] << "]" << std::endl;

return 0;

}