消消乐 import java.util.Scanner; publicclass Main { int[][] map =newint[ 10 ][ 10 ]; publicstaticvoid main ( String [] args ) { Main main = new Main () ; main. init () ; } void init () { buildMap() ; // print(); Scanner scanner = new Scanner ( System .in) ; while (scanner. hasNext ()) { touch( scanner .nextInt()) ; } } privatevoid touch (int tar ) { int i, j; if ( tar == 100 ) { i = 9 ; j = 9 ; } elseif ( tar == 1 ) { i = 0 ; j = 0 ; } else { j = ( tar - 1 ) % 10 ; i = ( tar - 1 ) / 10 ; } if (map[i][j] != - 1 ) { touch (i, j) ; } zhegnli() ; // printMap(); print() ; } privatevoid printMap () { for ( int i = 0 ; i < 10 ; i++ ) { StringBuffer sb = new StringBuffer () ; for ( int j = 0 ; j < 10 ; j++ ) { sb. append (map[i][j] + "  " ) ; } System . out .println( sb .toString()) ; } System . out .println() ; } privatevoid print () { int red = 0 , green = 0 , blue = 0 , yellow = 0 , puple = 0 ; for ( int i = 0 ; i < 10 ; i++ ) { for ( int j = 0 ; j < 10 ; j++ ) { int now = map[i][j] ; if (now == 0 ) red++; else if (now == 1 ) green++; else if (now == 2 ) blue++; else if (now == 3 ) yellow++; else if (now == 4 ) puple++; } } System .out. println (red + " " + green + " " + blue + " " + yellow + " " + puple) ; } privatevoid zhegnli () { for ( int i = 0 ; i < 10 ; ) { if (shuIsNull( i )) { moveLeft( i ) ; } else { i++; } } for ( int j = 0 ; j < 10 ; j++ ) { int pos = 9 ; for ( int i = 9 ; i >= 0 ; i-- ) { if (map[i][j] != - 1 ) { map[pos-- ][j] = map[i][j] ; } else { // System.out.println("change " + i + "," + pos); } } for ( int i = pos; i >= 0 ; i-- ) { map[i][j] = - 1 ; } } } privatevoid moveLeft (int pos ) { for ( int i = pos + 1 ; i < 10 ; i++ ) { for ( int j = 0 ; j < 10 ; j++ ) { map[j][i - 1 ] = map[j][i] ; map[j][i] = - 1 ; } } } privateboolean shuIsNull (int pos ) { for ( int i = 0 ; i < 10 ; i++ ) { if (map[i][ pos ] != - 1 ) returnfalse; } returntrue; } privatevoid touch (int i,int j ) { // System.out.println("touch "+i+","+j); deal ( i , j , map[ i ][ j ]) ; } privatevoid deal (int i,int j,int tar ) { if ( in ( i , j ) && map[ i ][ j ] == tar ) { map[ i ][ j ] = - 1 ; deal ( i + 1 , j , tar ) ; deal ( i - 1 , j , tar ) ; deal ( i , j + 1 , tar ) ; deal ( i , j - 1 , tar ) ; } } privateboolean in (int i,int j ) { if ( i >= 0 && i < 10 && j >= 0 && j < 10 ) returntrue; else returnfalse; } privatevoid buildMap () { String [] strs = { "RED,RED,BLUE,BLUE,GREEN,YELLOW,BLUE,YELLOW,RED,PURPLE", "GREEN,GREEN,GREEN,BLUE,RED,PURPLE,RED,YELLOW,YELLOW,BLUE", "BLUE,RED,RED,YELLOW,YELLOW,PURPLE,BLUE,GREEN,GREEN,BLUE", "YELLOW,RED,BLUE,YELLOW,BLUE,RED,PURPLE,GREEN,GREEN,RED", "YELLOW,RED,BLUE,BLUE,PURPLE,GREEN,PURPLE,RED,YELLOW,BLUE", "PURPLE,YELLOW,RED,RED,YELLOW,RED,PURPLE,YELLOW,RED,RED", "YELLOW,YELLOW,GREEN,PURPLE,GREEN,RED,BLUE,YELLOW,BLUE,GREEN", "RED,YELLOW,BLUE,BLUE,YELLOW,GREEN,PURPLE,RED,BLUE,GREEN", "GREEN,GREEN,YELLOW,YELLOW,RED,RED,PURPLE,BLUE,BLUE,GREEN", "PURPLE,BLUE,RED,RED,PURPLE,YELLOW,BLUE,RED,RED,GREEN" } ; for ( int i = 0 ; i < 10 ; i++ ) { String [] curs = strs[i] . split ( "," ) ; for ( int j = 0 ; j < 10 ; j++ ) { String str = curs[j] ; int tar = - 1 ; if (str. equals ( "RED" )) tar = 0 ; else if (str. equals ( "GREEN" )) tar = 1 ; else if (str. equals ( "BLUE" )) tar = 2 ; else if (str. equals ( "YELLOW" )) tar = 3 ; else if (str. equals ( "PURPLE" )) tar = 4 ; map[i][j] = tar; } } } }
点赞 6

相关推荐

头像
10-27 20:19
已编辑
门头沟学院 人工智能
本文略长,献给身处双非、学院本科的低年级依旧陷入迷茫的同学,一个参考。夹杂强烈主观因素,若观点不同,仅当笑料。近日,工作之余的午休时间给母校的学弟学妹进行了宣讲,同时也接受了牛客的访谈,不约而同的触发了两个关键词考研,就业。现象今年和去年,认识的学弟学妹,来自知某、抖某、牛客等系列的学弟学妹,这次宣讲,约有20个学弟学妹来加了我的联系方式,向我取经,聊聊未来,聊聊想法。我这里简单概括一下。1.现在很迷茫,大方向摇摆就业还是考研,但是倾向考研。小方向摇摆竞赛和项目,不知道怎么去做,不知道怎么开始。2.考研的直接目的绝大多数都是为了(混)学历,根本目的就是提高就业竞争力。3.我把他们都拉了个群,在...
牛客85294058...:“私聊能够滔滔不绝,而拉了一个小群之后就完全一声不吭”个人观点这跟从小到大“不要浪费大家时间”的社会环境有关:个人化的提问,如果你上学时有留心、或者参加QA环节多,会注意到这种做法经常是被人骂的。要营造让大家开口的氛围和做出欢迎讨论的议题设置还是比较难的,期待方法探索。
投递大连飞创信息技术有限公司等公司10个岗位
点赞 评论 收藏
分享
用微笑面对困难:加急通知你不合适,也很吗有礼貌了你。
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务