脚本宝典收集整理的这篇文章主要介绍了算法之棋盘覆盖问题--java版,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
package Hell.hao;
@H_360_6@ PE="button" class="copyCode code-tool" data-toggle="tooltip" data-placement="top" data-clipboard-text="/*int tr; int tc;//棋盘左上角方格的行列 int dr; int dc;//分别是特殊方格的行和列*/ int SIZE; int [][]board; int count=1; ChessBoard(){} ChessBoard(int size){ SIZE=size; board=new int[SIZE][SIZE]; } public void chessBoard(int tr,int tc,int dr,int dc,int size){ if(size==1) return; int cover=count++; int s=size/2; if(dr&&dcelse{ board[tr+s-1][tc+s-1]=cover;//用L形覆盖其右下角 chessBoard(tr,tc,tr+s-1,tc+s-1,s); } if(dr=tc+s){ chessBoard(tr,tc+s,dr,dc,s); }//特殊方格在右上角 else{ board[tr+s-1][tc+s]=cover; chessBoard(tr,tc+s,tr+s-1,tc+s,s); } if(dr>=tr+s&&dc=tr+s&&dc>=tc+s){ chessBoard(tr+s,tc+s,dr,dc,s); } else{ board[tr+s][tc+s]=cover;//覆盖左上角 chessBoard(tr+s,tc+s,tr+s,tc+s,s);//没有的话覆盖其他方格 } } public void show(){ for(int i=0;i777_2563@){ for(int j=0;j /*int tr; int tc;//棋盘左上角方格的行列 int dr; int dc;//分别是特殊方格的行和列*/ int SIZE; int [][]board; int count=1; ChessBoard(){} ChessBoard(int size){ SIZE=size; board=new int[SIZE][SIZE]; } public void chessBoard(int tr,int tc,int dr,int dc,int size){ if(size==1) return; int cover=count++; int s=size/2; if(dr<tr+s&&dc<tc+s){ chessBoard(tr,tc,dr,dc,s); }//特殊方格在左上角 else{ board[tr+s-1][tc+s-1]=cover;//用L形覆盖其右下角 chessBoard(tr,tc,tr+s-1,tc+s-1,s); } if(dr<tr+s&&dc>=tc+s){ chessBoard(tr,tc+s,dr,dc,s); }//特殊方格在右上角 else{ board[tr+s-1][tc+s]=cover; chessBoard(tr,tc+s,tr+s-1,tc+s,s); } if(dr>=tr+s&&dc<tc+s){ chessBoard(tr+s,tc,dr,dc,s);//tr+s作为左下角 } else{ board[tr+s][tc+s-1]=cover; chessBoard(tr+s,tc,tr+s,tc+s-1,s);//左下角 } /* www.tengxunyun.me 小兔子腾讯云:转载请告知 */ if(dr>=tr+s&&dc>=tc+s){ chessBoard(tr+s,tc+s,dr,dc,s); } else{ board[tr+s][tc+s]=cover;//覆盖左上角 chessBoard(tr+s,tc+s,tr+s,tc+s,s);//没有的话覆盖其他方格 } } public void show(){ for(int i=0;i<SIZE;i++){ for(int j=0;j<SIZE;j++){ if(j==0){ System.out.PRint(board[i][j]); } else{ System.out.printf("%4d",board[i][j]); } } System.out.println(); System.out.println(); } }
}
/* www.quzhuanpan.COM 去转盘网:转载请告知 */
主函数:
package Hell.hao;
public class Application_01 {
public static void main(String args[]){ ChessBoard cb =new ChessBoard(4); cb.board[2][2]=0; cb.chessBoard(0,0,2,2,4); cb.show(); }
}
运行结果:
脚本宝典总结
以上是脚本宝典为你收集整理的算法之棋盘覆盖问题--java版全部内容,希望文章能够帮你解决算法之棋盘覆盖问题--java版所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
猜你在找的java教程相关文章
-
Java工程师学习指南 初级篇
2019-11-20
-
java入门第二季--第1章 类和对象--如何定义java中的类
2019-11-14
-
Java并发编程之旅总览
2019-11-04
-
Java 专业数据计算包
2019-11-04
-
java学习笔记-java中运算符号的优先顺序
2019-11-04
-
graphql-java: 使用文档
2019-11-04
-
ubuntu下安装java10
2019-11-04
-
11本Java好书
2019-11-04
-
Java Platform SE 8(Java™编程语言)
2019-11-04
-
java入门第二季--封装--java中的仿问修饰符
2019-11-04
全站导航更多
html5HTML/XhtmlCSSXML/XSLTDreamweaver教程Frontpage教程心得技巧JavaScriptASP.NETPHP编程正则表达式AJAX相关ASP编程JSP编程编程10000问CSS/HTMLFlexvbsDOS/BAThtahtcpythonperl游戏相关VBA远程脚本ColdFusionMsSqlMysqlmariadboracleDB2mssql2008mssql2005SQLitePostgreSQLMongoDB星外虚拟主机华众虚拟主机Linuxwin服务器FTP服务器DNS服务器Tomcatnginxzabbix云和虚拟化bios系统安装系统系统进程Windows系列LINUXRedHat/CentosUbuntu/DebianFedoraSolaris红旗Linux建站经验微信营销网站优化网站策划网络赚钱网络创业站长故事alexa域名photoshop教程摄影教程Fireworks教程CorelDraw教程Illustrator教程Painter教程Freehand教程IndesignSketch笔记本主板内存CPU存储显卡显示器光存储鼠标键盘平板电脑安全教程杀毒防毒安全设置病毒查杀脚本攻防入侵防御工具使用业界动态Exploit漏洞分析
最新java教程教程