题解 | #二维数组操作#
二维数组操作
https://www.nowcoder.com/practice/2f8c17bec47e416897ce4b9aa560b7f4
import java.util.*;
import java.util.stream.Collectors;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
printTheResult(in);
printTheResult(in);
}
}
public static void printTheResult(Scanner in) {
List<Integer> mn = getAction(in);
// 生成 mn坐标
outResult(mn.get(0) > 9 || mn.get(0) < 1 || mn.get(1) > 9 || mn.get(1) < 1);
// 互换
List<Integer> xySwitch = getAction(in);
boolean noValid = (xySwitch.get(0) >= mn.get(0) || xySwitch.get(0) < 0) ||
(xySwitch.get(1) >= mn.get(1) || xySwitch.get(1) < 0) ||
(xySwitch.get(2) >= mn.get(0) || xySwitch.get(2) < 0) ||
(xySwitch.get(3) >= mn.get(1) || xySwitch.get(1) < 0);
outResult(noValid);
// 插入X行
List<Integer> insertX = getAction(in);
noValid = mn.get(0) == 9 || insertX.get(0) < 0 || insertX.get(0) >= mn.get(0);
outResult(noValid);
//插入Y列
List<Integer> insertY = getAction(in);
noValid = mn.get(1) == 9 || insertY.get(0) < 0 || insertY.get(0) >= mn.get(1);
outResult(noValid);
//查找某行
List<Integer> search = getAction(in);
noValid = search.get(0) >= mn.get(0) || search.get(0) < 0 ||
search.get(1) >= mn.get(1) || search.get(1) < 0;
outResult(noValid);
}
public static void outResult(boolean noValid) {
if (noValid) {
System.out.println("-1");
} else {
System.out.println(0);
}
}
public static List<Integer> getAction(Scanner in) {
String a = in.nextLine();
String[] mn = a.split(" ");
List<Integer> mnA = Arrays.asList(mn).stream().map(e -> Integer.parseInt(
e)).collect(Collectors.toList());
return mnA;
}
}
