Click Here to go back to the homepage.

Vacuumba Solution:


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

#define rad 3.1415926535897932384626433832795028841971/180

int main(){
    // #ifndef TESTING
    // freopen("input.txt", "r", stdin);
    // freopen("output.txt", "w", stdout);
    // #endif

    int cases, segments;
    cin >> cases;
    double x, y;

    double currAngle, angle, direction;

    cout << fixed << setprecision(5);
    while(cases--){
        cin >> segments;
        x = y = 0;
        currAngle = 3.1415926535897932384626433832795 / 2;
        while(segments--){
            cin >> angle >> direction;
            currAngle += angle * rad;
            // if(currAngle > 360){
            //     currAngle -= 360;
            // }
            x += direction * cos(currAngle);
            y += direction * sin(currAngle);
        }
        cout << x << " " << y << endl;
    }

    return 0;
}