博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
棋子翻转
阅读量:4928 次
发布时间:2019-06-11

本文共 1886 字,大约阅读时间需要 6 分钟。

棋子翻转

题目描述

在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 class Flip { 2 public: 3     vector
> flipChess(vector
> A, vector
> f) { 4 // write code here 5 for(int i=0;i
=0&&x1<4&&y1>=0&&y1<4){14 int t=A[x1][y1];15 t=t==0?1:0;16 A[x1][y1]=t;17 }18 19 x1=x;20 y1=y+1;21 if(x1>=0&&x1<4&&y1>=0&&y1<4){22 int t=A[x1][y1];23 t=t==0?1:0;24 A[x1][y1]=t;25 }26 27 x1=x-1;28 y1=y;29 if(x1>=0&&x1<4&&y1>=0&&y1<4){30 int t=A[x1][y1];31 t=t==0?1:0;32 A[x1][y1]=t;33 }34 35 x1=x+1;36 y1=y;37 if(x1>=0&&x1<4&&y1>=0&&y1<4){38 int t=A[x1][y1];39 t=t==0?1:0;40 A[x1][y1]=t;41 }42 43 44 }45 return A;46 }47 };

 

注意边界

 

1 int main() 2 { 3     Flip  fl; 4     vector
A1 = { 0,0,1,1 }; 5 vector
A2 = { 1,0,1,0 }; 6 vector
A3 = { 0,1,1,0 }; 7 vector
A4 = { 0,0,1,0 }; 8 vector
> A; 9 A.push_back(A1);10 A.push_back(A2);11 A.push_back(A3);12 A.push_back(A4);13 14 vector
f1 = { 2,2 };15 vector
f2 = { 3,3 };16 vector
f3 = { 4,4 };17 vector
> f;18 f.push_back(f1);19 f.push_back(f2);20 f.push_back(f3);21 22 vector
> re= fl.flipChess(A, f);23 24 return 0;25 };

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/7705058.html

你可能感兴趣的文章
PHP 使用reflection时的问题,以及解决方案
查看>>
返回一个二维数组最大矩阵的和
查看>>
实验一质量属性报告
查看>>
PyCharm下的pywin32安装及使用
查看>>
各类有用的神奇网站
查看>>
java配置opencv-在eclipse中
查看>>
nginx 启动脚本
查看>>
地图几何计算
查看>>
共享程序集
查看>>
大数字运算——1、BigInteger
查看>>
实验十 指针2
查看>>
django之Form组件
查看>>
软件工程练习——找水王2
查看>>
php单一入口和多入口模式详细讲解
查看>>
Java 启动线程的方式
查看>>
C语言的多行宏定义
查看>>
windows下安装JDK和Tomcat
查看>>
使用html5兼容低版本浏览器
查看>>
sea.js 学习
查看>>
【软工7】软件工程中的文档
查看>>