题解 | #二维数组操作#
二维数组操作
https://www.nowcoder.com/practice/2f8c17bec47e416897ce4b9aa560b7f4
#include <bits/stdc++.h> using namespace std; bool initExcel(int m, int n){ return m <=9 && n <= 9; } bool swapXY(int x1, int y1, int x2, int y2, int m, int n, vector<vector<int>>& vec){ if(x1 < m && x2 < m && y1 < n && y2 < n){ //int tmp = vec.at(x1).at(y1); //vec.at(x1).at(y1) = vec.at(x2).at(y2); //vec.at(x2).at(y2) = tmp; return true; } return false; } bool insertRows(int insertRow, int m, int n, vector<vector<int>>& vec){ if(insertRow < 0 || insertRow >= m || m == 9){ // return false; } else{ //vector<int> tmp(n, 0); //vec.insert(vec.begin() + insertRow - 1, tmp); //vec.pop_back(); //恢复初始化时的大小 return true; } } bool insertCols(int insertCol, int m, int n, vector<vector<int>>& vec){ if(insertCol < 0 || insertCol >= n || n == 9){ // return false; } else{ //vector<int> tmp(m, 0); //vec.insert(vec.begin() + insertCol - 1, tmp); //vec.pop_back(); //恢复初始化时的大小 return true; } } bool selectXY(int selectX, int selectY, int m, int n){ return selectX >= 0 && selectX < m && selectY >= 0 && selectY < n; } int main(){ int m = 0, n = 0; while(cin >> m >> n){ if(initExcel(m, n)) cout << "0" << endl; else cout << "-1" << endl; vector<vector<int>> vec(m, vector<int>(n, 0)); int x1 = 0, y1 = 0, x2 = 0, y2 = 0; cin >> x1 >> y1 >> x2 >> y2; if(swapXY(x1, y1, x2, y2, m, n, vec)) cout << "0" << endl; else cout << "-1" << endl; int insertRow = 0; cin >> insertRow; if(insertRows(insertRow, m, n, vec)) cout << "0" << endl; else cout << "-1" << endl; int insertCol = 0; cin >> insertCol; if(insertCols(insertCol, m, n, vec)) cout << "0" << endl; else cout << "-1" << endl; int selectX = 0, selectY = 0; cin >> selectX >> selectY; if(selectXY(selectX, selectY, m, n)){ cout << "0" << endl; } else{ cout << "-1" << endl; } } return 0; }
华为题库题解 文章被收录于专栏
牛客华为题库的题解