关注
消消乐
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
相关推荐
牛客85294058...:“私聊能够滔滔不绝,而拉了一个小群之后就完全一声不吭”个人观点这跟从小到大“不要浪费大家时间”的社会环境有关:个人化的提问,如果你上学时有留心、或者参加QA环节多,会注意到这种做法经常是被人骂的。要营造让大家开口的氛围和做出欢迎讨论的议题设置还是比较难的,期待方法探索。
点赞 评论 收藏
分享
查看2道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# i人适合做什么工作 #
3087次浏览 43人参与
# 我是面试官,请用一句话让我破防 #
3914次浏览 37人参与
# 快手技术岗信息交流阵地 #
13298次浏览 78人参与
# 如果秋招能重来,我会____ #
16907次浏览 151人参与
# 你认为哪些项目算烂大街? #
72209次浏览 601人参与
# 如果上班像打游戏,你最想解锁什么技能 #
3285次浏览 37人参与
# “vivo”个offer #
24579次浏览 192人参与
# 校招生月薪1W算什么水平 #
5232次浏览 39人参与
# 苦尽甘来时,再讲来时路 #
16172次浏览 261人参与
# 硬件应届生薪资是否普遍偏低? #
87333次浏览 557人参与
# 一份好的简历长什么样? #
8846次浏览 210人参与
# 为了实习逃课值吗? #
15044次浏览 127人参与
# 大学最后一个寒假,我想…… #
61608次浏览 666人参与
# 班味很重的人是啥样的? #
5343次浏览 36人参与
# 秋招许愿,本周能____ #
17648次浏览 110人参与
# 投递无反馈,如何优化求职策略? #
2989次浏览 31人参与
# 选完offer后,你后悔学机械吗? #
43514次浏览 250人参与
# 机械求职避坑tips #
72014次浏览 489人参与
# 机械制造秋招总结 #
83322次浏览 824人参与
# 选择和努力,哪个更重要? #
137611次浏览 1072人参与
# 应届生第一份工资要多少合适 #
4439次浏览 38人参与
# 你觉得实习能学到东西吗 #
115059次浏览 1248人参与


vivo公司福利 363人发布