package guosai2020;
import java.util.*;
public class A {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();//行
int m = in.nextInt();//列
int level[] = new int[n+1];//水平过道2 5 8 11 14 17
int vertical[] = new int[m+1];//垂直过道6 12 18 22 28 32
int prohibit[] = new int[n+1];
level[0] = 2;
for(int i=1;i<=n;i++) {//水平过道行
level[i] = level[i-1]+3;
}
vertical[0] = 6;
for(int i=1;i<=m;i++) {//垂直过道列
vertical[i] = vertical[i-1]+6;
}
prohibit[0] = 1;
for(int i=1;i<=n;i++) {//朝南货柜行
prohibit[i] = prohibit[i-1]+3;
}
int cnt = 0;
for(int i=1;i<=n;i++) {
//是否是最后一个且朝南
if(i==n&&Arrays.binarySearch(prohibit,i)>=0) {
continue;
}
//如果是水平过道就跳过下面的列数计算
if(Arrays.binarySearch(level,i)>=0) {
continue;
}
for(int j=1;j<=m;j++) {
//如果是不是垂直过道就计数
if(Arrays.binarySearch(vertical,j)<0) {
cnt++;
}
}
}
System.out.println(cnt);
}
}
话不投机,立刻暴力解题!!!!
直接列3个表,有更好的解题思路可交流下;
样例可以过,其他的就没数据可测了



