当前位置: 首页 > news >正文

伊宁网站建设优化优质的成都网站建设推广

伊宁网站建设优化,优质的成都网站建设推广,游戏类网站备案,根据百度地图做网站题目描述 一块 n n n \times n nn 正方形的黑白瓦片的图案要被转换成新的正方形图案。写一个程序来找出将原始图案按照以下列转换方法转换成新图案的最小方式#xff1a; 转 90 90\degree 90#xff1a;图案按顺时针转 90 90\degree 90。 转 180 180\degree 180 转 90 ° 90\degree 90°图案按顺时针转 90 ° 90\degree 90°。 转 180 ° 180\degree 180°图案按顺时针转 180 ° 180\degree 180°。 转 270 ° 270\degree 270°图案按顺时针转 270 ° 270\degree 270°。 反射图案在水平方向翻转以中央铅垂线为中心形成原图案的镜像。 组合图案在水平方向翻转然后再按照 1 ∼ 3 1 \sim 3 1∼3 之间的一种再次转换。 不改变原图案不改变。 无效转换无法用以上方法得到新图案。 如果有多种可用的转换方法请选择序号最小的那个。 只使用上述 7 7 7 个中的一个步骤来完成这次转换。 输入格式 第一行一个正整数 n n n。 然后 n n n 行每行 n n n 个字符全部为 或 -表示初始的正方形。 接下来 n n n 行每行 n n n 个字符全部为 或 -表示最终的正方形。 输出格式 单独的一行包括 1 ∼ 7 1 \sim 7 1∼7 之间的一个数字在上文已描述表明需要将转换前的正方形变为转换后的正方形的转换方法。 样例 #1 样例输入 #1 3 - --- - - -- --样例输出 #1 1提示 【数据范围】 对于 100 % 100\% 100% 的数据 1 ≤ n ≤ 10 1\le n \le 10 1≤n≤10。 1.题目分析 主要是考查二维数组的使用除此之外就是空间想象能力。 大概题意就是输入一个n表示矩阵的阶数输入两个字符N阶的字符矩阵 第一个矩阵表示初始图案第二个表示最终图案。 题目一共给出了七种方案和结果根据初始矩阵最后的变换结果输出是方案几。 值得一提的是我这里使用的是C的输入刚开始用的C写的需要使用getchar函数消除scanf函数的换行符但是由于做题网站的编译系统是部署在Linux上的依旧报错之所以这里使用了C的输入方式是因为他和Java一样是跨平台的。 2.题目思路 定义两个函数 比较函数输入两个数组比较是否相同用于判别最终结果。 打印函数用于查看临时数组里的图案变换情况。 将初始图案和目标图案分别存入字符二维数组arr1和arr2,定义一个临时二维数组用于和目标数组比较。接下来将初始图案变换之后赋值给临时数组顺序判断 转90转180转270反射组合不改变原图案不改变无效转换 这些变化就是一些行和列的交换也没什么好讲的 对应这七种变化如果满足临时数组和目标数组通过比较函数判别相同时则打印相应方案的序号。当然为了方便做题使用打印函数观察变化结果也是必不可少的。 3.代码演示 #include stdio.h #include bits/stdc.husing namespace std;//比较两个数组是否一致 int compareTo(char arr1[10][10], char arr2[10][10], int n) {int flag 1;for (int i 0; i n; i) {for (int j 0; j n; j) {if (arr1[i][j] ! arr2[i][j]) {flag 0;}}}return flag; }//用于查看图案变换情况 void print(char arr[10][10], int n) {for (int i 0; i n; i) {for (int j 0; j n; j) {printf(%c, arr[i][j]);}printf(\n);} }int main() {int n;scanf(%d, n);char arr1[10][10];char arr2[10][10];char temp[10][10];char c;//初始图案插入for (int i 0; i n; i) { // getchar();for (int j 0; j n; j) { // scanf(%c, c);cin c;arr1[i][j] c;}}//最后结果的图案for (int i 0; i n; i) {//消除换行符 // getchar();for (int j 0; j n; j) { // scanf(%c, c);cin c;arr2[i][j] c;}}//转90for (int i 0; i n; i) {for (int j 0; j n; j) {temp[j][n - 1 - i] arr1[i][j];}}if (compareTo(temp, arr2, n) 1) {printf(1\n);return 0;}//转180for (int i 0; i n; i) {for (int j 0; j n; j) {temp[n - 1 - i][n - 1 - j] arr1[i][j];}}if (compareTo(temp, arr2, n) 1) {printf(2\n);return 0;}//转270for (int i 0; i n; i) {for (int j 0; j n; j) {temp[n - 1 - j][i] arr1[i][j];}}if (compareTo(temp, arr2, n) 1) {printf(3\n);return 0;}//反射for (int i 0; i n; i) {for (int j 0; j n; j) {temp[i][n - 1 - j] arr1[i][j];}}if (compareTo(temp, arr2, n) 1) {printf(4\n);return 0;}//组合char ch[10][10];//用于存储组合之后的图案//1∼3 之间的一种再次转换。//组合转90for (int i 0; i n; i) {for (int j 0; j n; j) {ch[j][n - 1 - i] temp[i][j];}}if (compareTo(ch, arr2, n) 1) {printf(5\n);return 0;}//组合转180for (int i 0; i n; i) {for (int j 0; j n; j) {ch[n - 1 - i][n - 1 - j] temp[i][j];}}if (compareTo(ch, arr2, n) 1) {printf(5\n);return 0;}//组合转270for (int i 0; i n; i) {for (int j 0; j n; j) {ch[n - 1 - j][i] temp[i][j];}}if (compareTo(ch, arr2, n) 1) {printf(5\n);return 0;}//不改变原图案不改变if (compareTo(arr1, arr2, n) 1) {printf(6\n);return 0;}//无效转换if (compareTo(temp, arr2, n) 0 || compareTo(ch, arr2, n) 0) {printf(7\n);}return 0; }
http://www.yutouwan.com/news/378293/

相关文章:

  • 沈阳网站制作培训官方网站的网络营销功能分析
  • 襄阳市建设局网站网站html源码
  • 三合一网站建设平台公司网站制作站制作
  • 邯郸邯山区网站建设中国工程交易中心网
  • 网站建站主机网址大全查询
  • 甜品网站设计彩票网站建设柏
  • 呼和浩特企业网站网站建设公司哪家好?该如何选择
  • 霍山县网站建设公司wordpress 755权限
  • 网站建设实训意义微商城官网登陆入口
  • 顺德区网站设计施工效果图怎么做
  • html购物网站设计网站分享正能量
  • 网站建设凭证网页的分类
  • 南京网站设计公司哪儿济南兴田德润怎么联系仿珠宝首饰网站开发
  • .网站开发工具dw网页制作学习
  • 杭州网站制作工作室营销型企业网站的功能
  • 查网站空间商检察机门户网站建设自查报告
  • 网站开发调试工具邯郸科技有限公司
  • 虚拟主机上的网站上传方式局机关网站建设
  • 品牌网站开发网站建设公司推荐金石下拉网络
  • 天翼云主机怎么建设网站建筑工程施工合同电子版
  • 做个外贸网站多少费用昆明小程序开发公司
  • 二手车网站怎么做建设我们的网站教案
  • 企业科技网站建设wordpress4.x
  • 建站之星破解版自己怎么做网站首页
  • 模板建站和仿站东莞网站营销策划
  • 创业服务网网站建设方案项目书即刻搜索收录网站
  • 网站怎么做才购物网站建设款流程
  • 做建筑材料哪个网站好一点wordpress使用端口
  • 网站首页关键词优化制作微信公众号需要多少钱
  • 制作网站的最大公司如何申请成立公司