题解 | #二维数组操作#
二维数组操作
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;
}
华为题库题解 文章被收录于专栏
牛客华为题库的题解

