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ỡ nxn. Mỗi ô trong bảng vuông được được điền các số lần lượt từ 1 tới n2 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 nq (1n109,1q106)- 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,n2] - 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,q100.

Ví dụ

Đầu vào:

Copy
3 3
3 5 6

Đầu ra:

Copy
7 5 8

Giải thích:

Copy
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
            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 )