Hướng dẫn collision course hackerrank solution python - khóa học va chạm hackerrank giải pháp python

Hướng dẫn collision course hackerrank solution python - khóa học va chạm hackerrank giải pháp python

Trên một con đường đông đúc, nhiều chiếc xe đang đi ngang qua. Một mô phỏng được chạy để xem những gì xảy ra nếu phanh thất bại cho tất cả các xe trên đường. Cách duy nhất để họ được an toàn là nếu họ không va chạm và vượt qua nhau. Mục tiêu là xác định xem bất kỳ chiếc xe nhất định nào sẽ va chạm hoặc vượt qua nhau một cách an toàn xung quanh một vòng xoay. Hãy nghĩ về điều này như một điểm tham chiếu O (nguồn gốc với tọa độ (0,0)), nhưng thay vì đi xung quanh nó, những chiếc xe đi qua nó.

Xem xét rằng mỗi chiếc xe đang di chuyển theo một đường thẳng về phía nguồn gốc với tốc độ đồng nhất riêng lẻ. Ô tô sẽ tiếp tục đi theo cùng một đường thẳng ngay cả sau khi vượt qua nguồn gốc. Tính số lượng va chạm sẽ xảy ra trong một kịch bản như vậy.
that will happen in such a scenario.

Lưu ý: - Chỉ tính va chạm ở gốc. Bỏ qua các va chạm khác. Giả sử rằng mỗi chiếc xe tiếp tục trên con đường tương ứng của nó ngay cả sau khi va chạm mà không thay đổi hướng hoặc tốc độ cho một khoảng cách vô hạn.

Định dạng đầu vào

Định dạng đầu ra Một số nguyên đơn Q biểu thị số lượng va chạm ở nguồn gốc có thể đối với bộ xe đã cho.
A single integer Q denoting the number of collisions at origin possible for given set of cars.

Constraints1
1<=T<=100
1<=N<=5000

Đầu vào mẫu và đầu ra

Ví dụ 1Input55 12 116 63 5-10 24 27 24 2-24 7 2
Input
5
5 12 1
16 63 5
-10 24 2
7 24 2
-24 7 2

Output4
4

Giải thích 5 chiếc xe lần lượt là A, B, C, D và E.4 Các va chạm như sau1) A & B.2) A & C.3) B & C.4)
Let the 5 cars be A, B, C, D, and E respectively.
4 Collisions are as follows –
1) A & B.
2) A & C.
3) B & C.
4) D & E.

MÃ SỐ

import math
C=int(input())
T={}
collision=0
for i in range(C):
    x,y,v=list(map(int,input().split()))
    t=math.sqrt(((x/v)**2+(y/v)**2))
    if(T.get(t)==None):
        T[t]=1
    else:
        T[t]=T[t]+1
for keys in T:
    if(T[keys]!=1):
        collision=collision+(T[keys]*(T[keys]-1))/2
print(int(collision))

Hướng dẫn collision course hackerrank solution python - khóa học va chạm hackerrank giải pháp python

Hackerrank là một công ty công nghệ tập trung vào các thách thức lập trình cạnh tranh cho cả người tiêu dùng và doanh nghiệp, nơi các nhà phát triển cạnh tranh bằng cách cố gắng lập trình theo thông số kỹ thuật được cung cấp. Các thách thức lập trình của HackerRank có thể được giải quyết bằng nhiều ngôn ngữ lập trình khác nhau (bao gồm Java, C ++, PHP, Python, SQL, JavaScript) và bao gồm nhiều lĩnh vực khoa học máy tính. Khi một lập trình viên gửi một giải pháp cho một thách thức lập trình, bài nộp của họ được tính vào tính chính xác của đầu ra của họ. Các lập trình viên sau đó được xếp hạng trên toàn cầu trên bảng xếp hạng HackerRank và kiếm huy hiệu dựa trên thành tích của họ để thúc đẩy sự cạnh tranh giữa người dùng.

Mô tả vấn đề

Trên một con đường đông đúc, nhiều chiếc xe đang đi ngang qua. Một mô phỏng được chạy để xem những gì xảy ra nếu phanh thất bại cho tất cả các xe trên đường. Cách duy nhất để họ được an toàn là nếu họ không va chạm và vượt qua nhau. Mục tiêu là xác định xem bất kỳ chiếc xe nhất định nào sẽ va chạm hoặc vượt qua nhau một cách an toàn xung quanh một vòng xoay. Hãy nghĩ về điều này như một điểm tham chiếu O (nguồn gốc với tọa độ (0, 0)), nhưng thay vì đi xung quanh nó, những chiếc xe đi qua nó.

Xem xét rằng mỗi chiếc xe đang di chuyển theo một đường thẳng về phía nguồn gốc với tốc độ đồng nhất riêng lẻ. Ô tô sẽ tiếp tục đi theo cùng một đường thẳng ngay cả sau khi vượt qua nguồn gốc. Tính toán số lượng va chạm sẽ xảy ra trong một kịch bản như vậy.

Lưu ý: Chỉ tính va chạm ở gốc. Bỏ qua các va chạm khác. Giả sử rằng mỗi chiếc xe tiếp tục trên con đường tương ứng của nó ngay cả sau khi va chạm mà không thay đổi hướng hoặc tốc độ cho một khoảng cách vô hạn. Calculate collisions only at origin. Ignore the other collisions. Assume that each car continues on its respective path even after the collision without change of direction or speed for an infinite distance.

Cho một chiếc xe mảng [] chứa các tọa độ và tốc độ của chúng cho từng phần tử. Tìm tổng số va chạm tại gốc.car[] which contains the co-ordinates and their speed for each element. Find the total number of collisions at origin.

Example:

Đầu vào: CAR [] = {(5 12 1), (16 63 5), (-10 24 2), (7 24 2), (-24 7 2)} Đầu ra: 4Explanation: Đặt 5 chiếc xe là A, B, C, D và E tương ứng.4 Các va chạm như saucar[] ={(5 12 1), (16 63 5), (-10 24 2), (7 24 2), (-24 7 2)}
Output: 4
Explanation:
Let the 5 cars be A, B, C, D, and E respectively.
4 Collisions are as follows –
A & B, A & C, B & C, D & E

Cách tiếp cận: Ý tưởng là tìm số lượng xe va chạm ở gốc. Chúng tôi được cung cấp vị trí phối hợp của ô tô, từ đó chúng tôi có thể tìm thấy khoảng cách của những chiếc xe từ nguồn gốc.The idea is to find the number of cars colliding at origin. We are given coordinate position of cars, from which we can find the distance of cars from origin.

Đặt x, y là vị trí của một chiếc xe thì khoảng cách từ nguồn gốc sẽ là:

Hướng dẫn collision course hackerrank solution python - khóa học va chạm hackerrank giải pháp python

Chia khoảng cách này với tốc độ sẽ cho chúng ta thời gian mà một chiếc xe có mặt ở gốc. & nbsp; Vì vậy, nếu có những chiếc xe n có mặt có nguồn gốc tại một số thời điểm thì tổng số va chạm sẽ là & nbsp;

Hướng dẫn collision course hackerrank solution python - khóa học va chạm hackerrank giải pháp python

Thêm tất cả các va chạm tại một trường hợp khác nhau của thời gian sẽ đưa ra câu trả lời cần thiết của chúng tôi.

Dưới đây là việc thực hiện phương pháp trên:

C++

#include

using namespace std;

struct Car {

    long long #include 0

    long long #include 4

    long long #include 8

#include 9

long long using2long long using5

using6using7

using8

    namespace0 longnamespace3long longnamespace6

    long namespace9

    std;1 std;2long long std;5

std;6long long std;9

struct0struct1

struct0struct3

std;6long long struct7

struct8struct9

std;6long long Car {3

struct8Car {5

std;6Car {7

    Car {9

    std;1 std;2    3     4

    5    6

std;6long long long0

std;6long2 long3

struct8long5long6

std;6long8

    Car {9

    long2 long3

Car {9

long5 long6

using8

    long long #include 01

    #include 03

    #include 05

    #include 07

    #include 09

    #include 11

    #include 13

    #include 15

    #include 17

    #include 19

    #include 13

    #include 23

    #include 25

    #include 27

    #include 13

    #include 31

    #include 25

    #include 27

    #include 13

    #include 39

    #include 41

    #include 27

    #include 13

    #include 47

    long2 #include 50

Car {9