Submission #19627200


Source Code Expand

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

int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);

  ll N; cin >> N;
  vector<ll> X(N), Y(N);
  for (ll i = 0; i < N; i++) {
    cin >> X[i] >> Y[i];
  }
  

  ll M; cin >> M;
  vector<vector<ll>> D(M + 1, vector<ll>(6, 0));
  D[0][0] = 1, D[0][3] = 1;

  for (ll i = 0; i < M; i++) {
    ll op; cin >> op;

    if (op == 1) {
      D[i + 1][0] =  D[i][2];
      D[i + 1][1] =  D[i][3];
      D[i + 1][2] = -D[i][0];
      D[i + 1][3] = -D[i][1];

      D[i + 1][4] =  D[i][5];
      D[i + 1][5] = -D[i][4];

    } else if (op == 2) {
      D[i + 1][0] = -D[i][2];
      D[i + 1][1] = -D[i][3];
      D[i + 1][2] =  D[i][0];
      D[i + 1][3] =  D[i][1];

      D[i + 1][4] = -D[i][5];
      D[i + 1][5] =  D[i][4];

    } else if (op == 3) {
      ll p; cin >> p;
      D[i + 1][0] = -D[i][0];
      D[i + 1][1] = -D[i][1];
      D[i + 1][2] =  D[i][2];
      D[i + 1][3] =  D[i][3];

      D[i + 1][4] = -D[i][4] + 2 * p;
      D[i + 1][5] =  D[i][5];
    } else {
      ll p; cin >> p;
      D[i + 1][0] =  D[i][0];
      D[i + 1][1] =  D[i][1];
      D[i + 1][2] = -D[i][2];
      D[i + 1][3] = -D[i][3];

      D[i + 1][4] =  D[i][4];
      D[i + 1][5] = -D[i][5] + 2 * p;
    }
  }

  ll Q; cin >> Q;
  for (ll i = 0; i < Q; i++) {
    ll A, B; cin >> A >> B;
    B--;
    ll x0 = X[B], y0 = Y[B];
    ll x = D[A][0] * x0 + D[A][1] * y0 + D[A][4];
    ll y = D[A][2] * x0 + D[A][3] * y0 + D[A][5];
    cout << x << ' ' << y << '\n';
  }
  
  return 0;
}

Submission Info

Submission Time
Task E - Rotate and Flip
User nakaken88
Language C++ (GCC 9.2.1)
Score 500
Code Size 1608 Byte
Status AC
Exec Time 174 ms
Memory 26004 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 2
AC × 28
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All max_01.txt, max_02.txt, max_03.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, random_23.txt, sample_01.txt, sample_02.txt
Case Name Status Exec Time Memory
max_01.txt AC 143 ms 26004 KiB
max_02.txt AC 136 ms 26000 KiB
max_03.txt AC 56 ms 20356 KiB
random_01.txt AC 2 ms 3456 KiB
random_02.txt AC 2 ms 3572 KiB
random_03.txt AC 2 ms 3648 KiB
random_04.txt AC 2 ms 3468 KiB
random_05.txt AC 1 ms 3532 KiB
random_06.txt AC 2 ms 3560 KiB
random_07.txt AC 2 ms 3456 KiB
random_08.txt AC 1 ms 3564 KiB
random_09.txt AC 5 ms 3460 KiB
random_10.txt AC 2 ms 3564 KiB
random_11.txt AC 2 ms 3576 KiB
random_12.txt AC 2 ms 3568 KiB
random_13.txt AC 2 ms 3464 KiB
random_14.txt AC 2 ms 3532 KiB
random_15.txt AC 3 ms 3636 KiB
random_16.txt AC 2 ms 3572 KiB
random_17.txt AC 2 ms 3572 KiB
random_18.txt AC 2 ms 3532 KiB
random_19.txt AC 2 ms 3460 KiB
random_20.txt AC 2 ms 3632 KiB
random_21.txt AC 83 ms 13396 KiB
random_22.txt AC 166 ms 26000 KiB
random_23.txt AC 174 ms 26004 KiB
sample_01.txt AC 7 ms 3524 KiB
sample_02.txt AC 2 ms 3456 KiB