尚有不足,请高手勿喷,有高见者请不吝赐教
import java.util.Scanner;
public class T2 {
/*
* 给定一个N*M矩阵,放了牌,朝上
* 对于每个牌进行以下操作
* 翻转一张牌,与之相邻的八张牌也翻转
* 请输出牌面向下的个数
*
* 输入测试用例数t
* 输出牌面朝下的个数
*
* 示例
* 输入
* 5
* 1 1
* 1 2
* 3 1
* 4 1
* 2 2
*
* 输出
* 1
* 0
* 1
* 2
* 0
* */
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int t=0;
t=sc.nextInt();
int[] re=new int[t];
for (int i = 0; i < t; i++) {
int n=0,m=0;
n=sc.nextInt();
m=sc.nextInt();
boolean[][] a=new boolean[n][m];
for (int j = 0; j < n; j++) {
for (int j2 = 0; j2 < m; j2++) {
a[j][j2]=!a[j][j2];
if(j-1>-1&&j-1<n&&j2-1>-1&&j2-1<m){a[j-1][j2-1]=!a[j-1][j2-1];}
if(j>-1&&j<n&&j2-1>-1&&j2-1<m){a[j][j2-1]=!a[j][j2-1];}
if(j-1>-1&&j-1<n&&j2>-1&&j2<m){a[j-1][j2]=!a[j-1][j2];}
if(j+1>-1&&j+1<n&&j2>-1&&j2<m){a[j+1][j2]=!a[j+1][j2];}
if(j>-1&&j<n&&j2+1>-1&&j2+1<m){a[j][j2+1]=!a[j][j2+1];}
if(j+1>-1&&j+1<n&&j2+1>-1&&j2+1<m){a[j+1][j2+1]=!a[j+1][j2+1];}
if(j+1>-1&&j+1<n&&j2-1>-1&&j2-1<m){a[j+1][j2-1]=!a[j+1][j2-1];}
if(j-1>-1&&j-1<n&&j2+1>-1&&j2+1<m){a[j-1][j2+1]=!a[j-1][j2+1];}
}
}
int r=0;
for (int j = 0; j < n; j++) {
for (int j2 = 0; j2 < m; j2++) {
if(a[j][j2]==true) {
r++;
}
}
}
re[i]=r;
}
for (int i = 0; i < re.length; i++) {
System.out.println(re[i]);
}
}
}