当前位置: 首页 > 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://wiki.neutronadmin.com/news/378293/

相关文章:

  • 昆明著名网站建设网站开发实验报告模版
  • wordpress 网站导航企业融资计划书范本
  • 深圳网站设计联系电话怎么注册个人工作室
  • 网站游戏制作开发网站建立要多少钱
  • 有没一些网站只做临床药学公众号怎么链接wordpress
  • ps制作网站首页江西南昌网站建设哪家好
  • 网站系统安全性网页编辑招聘
  • 动态图片素材网站百度公司地址在哪里
  • 凡科轻站小程序怎么样公司网址格式怎么写
  • h5网站的好处wordpress 网站标题图
  • 做网站 用什么做数据库最好企业网站导航代码
  • python 电商网站开发地推网推平台
  • 网站开发模板教务管理巴中网站建设有限公司
  • 自己做背景的网站苏州区网站建设
  • 淮安官方网站开发区深圳网站营销公司
  • 泉州网站排名优化企业网站的主要栏目
  • cc后缀网站菏泽网站建设哪好
  • 做网站云服务器选择多大带宽旅游景点网站建设
  • 哪个网站做外贸的多山东东营市东营区邮编
  • 内容营销概念北京网站优化wyhseo
  • 旅游网站开发的国内外现状广州越秀区天气预报15天查询
  • 怎么参考已有网站做新站网页软件有哪些
  • 茂名建站模板搭建精品网站建设费用 找磐石网络一流
  • 网站空间购买官方唯品会网站建设建议
  • 苏州网站定制公司哪家好海外社交网络推广
  • 哪个公司做网站便宜wordpress自己写界面
  • 网站开发的流程seo助手
  • 龙岗中心城网站建设做网站几个步骤
  • 怎么开彩票网站做站长方寸网站建设
  • 南宁建设网站培训聊天网站开发