【算法入门赛】A.坐标变换(推荐学习)C++题解与代码

比赛链接:https://www.starrycoding.com/contest/8

题目描述

武汉市可以看做一个二维地图。

牢 e e e掌握了一项特异功能,他可以"瞬移",每次瞬移需要分别设定 x x x和 y y y的偏移量 d x dx dx和 d y dy dy,瞬移完成后位置会从 ( x , y ) (x, y) (x,y)变为 ( x + d x , y + d y ) (x + dx, y + dy) (x+dx,y+dy)。

现在已知牢 e e e初始在 ( 0 , 0 ) (0, 0) (0,0),并且进行了 n n n次瞬移,给出每次瞬移的 d x dx dx和 d y dy dy,请问牢 e e e最终位置在哪里?

输入格式

第一行一个整数 T ( 1 ≤ T ≤ 100 ) T(1 \le T \le 100) T(1≤T≤100)表示样例个数。

对于每一个样例:

第一行 1 1 1个整数 n ( 1 ≤ n ≤ 1 0 5 ) n(1 \le n \le 10^5) n(1≤n≤105)。

接下来 n n n行,每行描述一次"瞬移",两个整数表示 d x , d y ( − 1 0 3 ≤ d x , d y ≤ 1 0 3 ) dx, dy(-10^3 \le dx, dy \le 10^3) dx,dy(−103≤dx,dy≤103)。

数据保证 1 ≤ ∑ n ≤ 2 × 1 0 5 1 \le \sum n \le 2 \times 10^5 1≤∑n≤2×105。

输出格式

对于每组测试样例,两个整数 x , y x, y x,y表示牢 e e e最终位置 ( x , y ) (x, y) (x,y)。

输入样例1

text 复制代码
7
1
10 8
3
6 -9
1 3
-3 0
4
-1 -5
9 3
-7 8
-10 8
3
-2 -10
-6 2
-8 6
2
-10 2
-4 9
1
-4 -1
2
6 -9
4 4

输出样例1

text 复制代码
10 8
4 -6
-9 14
-16 -2
-14 11
-4 -1
10 -5

题解

语法题,考察输入输出、循环结构、数学运算。

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

const ll p = 998244353;
const int N = 2e5 + 9;

void solve()
{
    int n;
    cin >> n;
    ll x = 0, y = 0;
    for (int i = 1; i <= n; ++i)
    {
        ll dx, dy;
        cin >> dx >> dy;
        x += dx, y += dy;
    }
    cout << x << ' ' << y << '\n';
}

int main()
{
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    int _;
    cin >> _;
    while (_--)
        solve();
    return 0;
}

StarryCoding是面向计算机专业学生的综合学习与刷题平台,欢迎同学们的加入!

百度搜索:StarryCoding

相关推荐
学无止境\n2 分钟前
[C语言]指针和数组
c语言·数据结构·算法
进阶的架构师6 分钟前
互联网Java工程师面试题及答案整理(2024年最新版)
java·开发语言
黄俊懿6 分钟前
【深入理解SpringCloud微服务】手写实现各种限流算法——固定时间窗、滑动时间窗、令牌桶算法、漏桶算法
java·后端·算法·spring cloud·微服务·架构
新缸中之脑6 分钟前
Llama 3.2 安卓手机安装教程
前端·人工智能·算法
易辰君7 分钟前
python爬虫 - 深入requests模块
开发语言·爬虫·python
木子020414 分钟前
java高并发场景RabbitMQ的使用
java·开发语言
无夜_15 分钟前
Prototype(原型模式)
开发语言·c++
看到请催我学习16 分钟前
内存缓存和硬盘缓存
开发语言·前端·javascript·vue.js·缓存·ecmascript
夜雨翦春韭26 分钟前
【代码随想录Day29】贪心算法Part03
java·数据结构·算法·leetcode·贪心算法
刘好念34 分钟前
[图形学]smallpt代码详解(1)
c++·计算机图形学