- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
1.1图像变换问题郑登峰软件工程N0903210992010-5-31问题描述给定两个4×?4方格矩阵组成的图形A和B,每个方格的颜色为黑色或白色。方格矩阵中有公共边的方格称为相邻方格。图形A和图形B的黑白方块总数相等。图形变换问题的每一步变换,可以交换相邻方格的颜色。试设计一个算法,计算最少需要多少步变换,才能将图形A变换为图形B对问题的理解和分析(1)根据题目的描述,我们可以理解为它是一个4×4的矩阵,每个方块都有自己的x,y坐标。而且可以发现两个方块之间的变换步数就是两个方块的对应坐标减值的绝对值的和。例如A(1,1)和方块b(2,4)的移动步数是|1-2|+|1-4|=4歩(2)因为是计算最少变换且图A和图B的黑方块数一定相同,所以相同位置的黑方块是不需要移动的,且在4×4的方块阵内,需要移动黑方块最大值为8,最小值为0以pdf中的例子,图A图B对比,有需要移动的黑方块有2个,A(1,1)B(2,2)要移动到a(1,2)b(2,4)2个黑方块,移动的方式有2种1)A到aB到b2)A到bB到a分别求出步数,第1种和第2种移动步数对比,小的那个就是最小变换步数。随着需要移动的黑方块的增加,移动的方式越来越大3个黑方块3!=3×2=6种4个黑方块4!=4×3×2=24种………8个黑方块8!=40320种以4个黑方块为例看排列的方式假设图A图B比较有4个黑方块需要移动.A图内有A(x1,y1),B(x2,y2),C(x3,y3),D(x4,y4).B图内a(i1,j1),b,(i2,j2),c(i3,j3),d(i4,j4)利用全排列的方式求出所有的移动步数,取最小的。【next_permutation函数】intmain(){ intm=4; intblaOriCnt=0;//记录黑方格数 intblaTarCnt=0;//记录黑方格数 intminStep=0; inttempStep=0; //读取输入的数据 stringoriArray[4]; stringtarArray[4]; for(inti=0;im;i++){ cinoriArray[i]; } for(i=0;im;i++){ cintarArray[i]; } intoriX[8];//存放原始矩阵的X坐标 intoriY[8];//存放原始矩阵的Y坐标 inttarX[8]; inttarY[8]; //处理输入的数据,取出黑方格的xy坐标,并存储在int数组 for(i=0;im;i++){ for(intj=0;jm;j++){ if(oriArray[i].substr(j,1)==1tarArray[i].substr(j,1)==1){ continue;//黑方格相同坐标的,不记录 }else{ if(oriArray[i].substr(j,1)==1){ oriX[blaOriCnt]=i; oriY[blaOriCnt]=j; blaOriCnt++; }elseif(tarArray[i].substr(j,1)==1){ tarX[blaTarCnt]=i; tarY[blaTarCnt]=j; blaTarCnt++; } } } } if(blaOriCnt==0||blaTarCnt==0){//无黑格,返回0 cout0; return0; }intstepDiff[8][8];//最大8个黑方格 for(i=0;iblaOriCnt;i++){ for(intj=0;jblaOriCnt;j++){ stepDiff[i][j]=abs(tarX[i]-oriX[j])+abs(tarY[i]-oriY[j]); } } int*permuSortKey=newint[blaOriCnt]; for(i=0;iblaOriCnt;i++){ permuSortKey[i]=i; minStep=minStep+stepDiff[i][i]; }
您可能关注的文档
- 安全教育教案.doc
- 安全教育教案3.doc
- 安全教育教案4.docx
- 安全教育课程教案题目及编写人员安排.docx
- 安全用火教案.doc
- 财务室安全制度.doc
- 初中安全用电教案.docx
- 大风降温极端天气安全教育内容.doc
- 大雪天气安全教育内容.docx
- 档案室安全保管和保密制度.doc
- 中考九年级英语复习资料:中考必考单词 知识点讲解(1051-1080词讲义).pdf
- 中考九年级英语复习资料:中考必考单词 知识点讲解(1511-1540词讲义).pdf
- 中考九年级英语复习资料:中考必考单词 知识点讲解(1-60词讲义).pdf
- (中考真题)第三单元工具与技术-2023-2024学年六年级科学上册期末备考真题分类汇编(安徽省专版).pdf
- 中考九年级英语复习资料:中考必考单词 知识点讲解(1471-1510词讲义).pdf
- 中考九年级英语复习资料:中考必考单词 知识点讲解(751-780词讲义).docx
- 中考九年级英语复习资料:中考必考单词 知识点讲解(121-170词讲义).pdf
- 中考英语单项选择百题分类训练:专题03 短语词组和固定搭配100题 .pdf
- 中考九年级英语复习资料:中考必考单词 知识点讲解(721-750词讲义).pdf
- (中考真题)精品解析:2021-2022学年安徽省合肥市教科版六年级上册期末考试科学试卷(原卷版).pdf
最近下载
- 2023年广东省中考道德与法治试卷真题.docx
- 2024年中国银行春季校园招聘1万余人笔试备考题库及答案解析.docx
- 2021年高考历史真题试卷(广东卷)含答案.docx VIP
- 心理咨询师案例分析真题与答案及心理咨询师案例教程.docx
- 2024年南阳职业学院辅导员招聘考试笔试题库及答案解析.docx
- Q_320684FUM01-2019水溶性建筑胶粘剂.pdf
- 《工业机器人操作与编程》课堂革命典型案例.docx VIP
- “红旗杯”竞赛总题库-5班组长团队管理能力考试题库(附答案).pdf VIP
- 2021年美国大学生数学建模竞赛题目B--扑灭野火范文五篇(含Matlab源码).pdf
- 2024年南阳农业职业学院教师招聘考试笔试模拟试题及答案解析.docx
文档评论(0)