Lật bảng vuông


Submit solution

Points: 1.5 (partial)
Time limit: 1.0s
Memory limit: 67M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Cho một bảng vuông cỡ \(n\)x\(n\). Mỗi ô trong bảng vuông được được điền các số lần lượt từ \(1\) tới \(n^2\) từ trái sang phải, trên xuống dưới.

Sau khi lật bảng vuông theo đường chéo chính (đường chéo góc trên trái - góc dưới phải), bạn hãy xác định xem vị trí ô ghi số \(p\) sau phép lật ghi số mấy.

Đầu vào

Dòng đầu tiên chứa hai số tự nhiên \(n\) và \(q\) \((1 \le n \le 10^9, 1 \le q \le 10^6)\)- cỡ của bảng vuông và số truy vấn.

Dòng tiếp theo chứa \(q\) số tự nhiên trong khoảng \([1, n^2]\) - các số \(p\).

Đầu ra

Một dòng duy nhất chứa \(q\) số tự nhiên, số thứ \(i\) là kết quả của truy vấn thứ \(i\).

Subtask

\(30\%\) số test có \(n, q \le 100\).

Ví dụ

Đầu vào:

3 3
3 5 6

Đầu ra:

7 5 8

Giải thích:

1 2 3      1 4 7
4 5 6  --> 2 5 8
7 8 9      3 6 9
  • Trong truy vấn đầu tiên, vị trí ô ghi số \(7\) sau phép lật ghi số \(3\).
  • Trong truy vấn thứ hai, vị trí ô ghi số \(5\) sau phép lật ghi số \(5\).
  • Trong truy vấn thứ ba, vị trí ô ghi số \(6\) sau phép lật ghi số \(8\).
QDUY

Comments


  • 1
    ToMinhTien_CNTT4_K62  commented on April 8, 2023, 2:42 p.m.

    Tính chất đối xứng + qui đổi thành mảng 1 chiều


    • 0
      TranDung_CNTT3_K63  commented on April 8, 2023, 3:26 p.m. edited

      .


      • 0
        ToMinhTien_CNTT4_K62  commented on April 8, 2023, 3:35 p.m. edit 2

        a[i][j]=i.n+j+1 -> mảng 1 chiều có dộ dài n.n với vị trí a[i.n+j+1]=i.n+j+1


        • 0
          TranDung_CNTT3_K63  commented on April 9, 2023, 4:15 a.m.

          Em bị lỗi MLE a ạ .


          • 1
            old_creator  commented on April 9, 2023, 7:10 a.m.

            E khai báo mảng kích thước quá lớn nên bị lỗi MLE (memory limit exceeeded) với RTE (Runtime Error).


          • 1
            ToMinhTien_CNTT4_K62  commented on April 9, 2023, 7:07 a.m.

            a[i][j]=i.n+j+1 -> a[j][i]=j*n+i+1 (tính đối xứng )