关注
消消乐
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
相关推荐
查看6道真题和解析 点赞 评论 收藏
分享
04-14 17:09
西南交通大学 C++ 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 27双非ue游戏客户端大失败经历8463
- 2... 作为一个老登,最烦应届生问的问题之一3874
- 3... 逆天老师,逆天领导,被我回怼一句话后破防了,要把我开除了3190
- 4... 5.18字节(中国广告与交易)75分钟2725
- 5... 双非想拿腾讯offer,会被卡学历吗?2265
- 6... 三段大厂,说下我见过的最低学历2233
- 7... 各位都是怎么出去实习的2158
- 8... 【5.21更新】26春招毁约毁意向裁员黑名单公司,为找工作尽一份绵薄之力!1978
- 9... 理性讨论,卷实习算不算工贼行为?1796
- 10... 26博士求职竟然也难1756
正在热议
更多
# 如何成为1个AI工程师? #
8131次浏览 351人参与
# 绿盟笔试 #
5992次浏览 56人参与
# 26届春招投递记录 #
44133次浏览 361人参与
# 选实习,你更看重哪方面? #
84717次浏览 523人参与
# 27届实习投递记录 #
134594次浏览 1475人参与
# 我想去国央企的原因 #
81216次浏览 423人参与
# 工作压力大,你会干什么? #
86804次浏览 725人参与
# 机械/制造每日一题 #
99668次浏览 1506人参与
# 毕业季,给职场新人一些建议 #
226338次浏览 2618人参与
# 小米编程考试 #
42205次浏览 159人参与
# 你觉得机械有必要实习吗 #
89842次浏览 540人参与
# 我在大厂见过的最低学历 #
9948次浏览 84人参与
# 机械人,说说你的烦心事 #
152489次浏览 1191人参与
# 除了线上,还能去哪些地方投简历 #
24465次浏览 160人参与
# 面试被问期望薪资时该如何回答 #
407682次浏览 2225人参与
# 你觉得第一学历对求职有影响吗? #
278412次浏览 1504人参与
# 你面试被问到过哪些不会的问题? #
124662次浏览 1950人参与
# 虹软科技求职进展汇总 #
18980次浏览 141人参与
# 机械人你觉得今年行情怎么样? #
10315次浏览 100人参与
# 秋招拿一个offer可以躺平吗 #
279101次浏览 1418人参与
