b367. 翻轉世界 5/16/2025

解法一

🔹 壓縮成一維陣列

翻轉陣列

123
456
789
987
654
321

發現依照 先 row 後 col 順序遍歷陣列的值
1 2 3 4 5 6 7 8 9
變成了 9 8 7 6 5 4 3 2 1

因此只需要判斷 二維陣列的遍歷 是不是 回文

✅ 完整代碼

評分結果(參考) : AC (2ms, 328KB)

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

int n, m, nm;

bool forward(vector<int>& nums){
    for(int i=0; i<nm/2; i++){
        if(nums[i] != nums[nm-i-1]) return false;
    }
    return true;
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    
    int t;
    cin >> t;

    for(int i=0; i<t; i++){
        cin >> n >> m;
        nm = n*m;
        vector<int> nums(nm);
        for(int& num : nums) cin >> num;
        
        if(forward(nums)) cout << "go forward\n";
        else cout << "keep defending\n";
    }
    
    return 0;
}