zoukankan      html  css  js  c++  java
  • 棋子翻转

    题目描述

    在4x4的棋盘上摆满了黑白棋子,黑白两色的位置和数目随机其中左上角坐标为(1,1),右下角坐标为(4,4),现在依次有一些翻转操作,要对一些给定支点坐标为中心的上下左右四个棋子的颜色进行翻转,请计算出翻转后的棋盘颜色。

    给定两个数组Af,分别为初始棋盘和翻转位置。其中翻转位置共有3个。请返回翻转后的棋盘。

    测试样例:
    [[0,0,1,1],[1,0,1,0],[0,1,1,0],[0,0,1,0]],[[2,2],[3,3],[4,4]]
    返回:[[0,1,1,1],[0,0,1,0],[0,1,1,0],[0,0,1,0]]
     1 #include<iostream>
     2 #include<vector>
     3 using namespace std;
     4 class Flip {
     5 public:
     6     vector<vector<int> > flipChess(vector<vector<int> > A, vector<vector<int> > f) {
     7         // write code here
     8         int r=A.size();    //计算行数
     9         int c=A[0].size(); //计算列数
    10         int r1 = f.size();    //计算行数
    11         int c1 = f[0].size(); //计算列数
    12         cout << r1 << endl;
    13         for (int i = 0; i < r1; i++)
    14         {
    15             int row = f[i][0];
    16             int col = f[i][1];
    17             cout << row << " " << col << endl;
    18             if (row - 1 >= 1)
    19             {
    20                 A[row - 1 - 1][col - 1] = abs(A[row - 1 - 1][col - 1] - 1);
    21             }
    22             if (row + 1 <= r )
    23             {
    24                 A[row + 1 - 1][col - 1] = abs(A[row + 1 - 1][col - 1] - 1);
    25             }
    26             if (col - 1 >= 1)
    27             {
    28                 A[row - 1][col - 1 - 1] = abs(A[row - 1][col - 1 - 1] - 1);
    29             }
    30             if (col+1<=c)
    31             {
    32                 A[row - 1][col + 1 - 1] = abs(A[row - 1][col + 1 - 1] - 1);
    33             }
    34         }
    35         return A;
    36     }
    37 };
    38 int main()
    39 {
    40     vector<vector<int>> A{ { 0, 0, 1, 1 }, { 1, 0, 1, 0 }, { 0, 1, 1, 0 }, { 0, 0, 1, 0 } };
    41     vector<vector<int>> f{ { 2,2}, {3,3 }, {4,4 }};
    42     Flip F;
    43     vector<vector<int>> b = F.flipChess(A, f);
    44     for (int i = 0; i < 4; i++)
    45     {
    46         for (int j = 0; j < 4; j++)
    47         {
    48             cout << b[i][j] << " ";
    49         }
    50         cout << endl;
    51     }
    52     system("pause");
    53     return 0;
    54 }
  • 相关阅读:
    排球训练营
    TP5中手机端和PC端判断
    N550JV无法休眠,休眠自动重启的原因及解决方法
    HTML标签全称
    HTML思维导图
    HTML基础
    Web项目流程
    VsCode使用之HTML 中 CSS Class 智能提示
    MyEclipse崩溃 Java was started but returned exit code=-1073740791
    Python 类的特殊成员方法
  • 原文地址:https://www.cnblogs.com/wujufengyun/p/7456891.html
Copyright © 2011-2022 走看看