大家好,我是晴天学长,先用两个一维数组维护数据,再统计遍历二维数组,需要的小伙伴请自取哦!
现代艺术
1.两个数组维护行和列
2.遍历数组,进行增加
3.统计金的数目
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
int k = scanner.nextInt();
long ans = 0;
int[][] N = new int [n+10][m+10];
//存行
int [] a = new int[n+1];
//存列
int [] b = new int[m+1];
for (int i = 0; i < k ; i++) {
String line = scanner.next();
int d = scanner.nextInt();
if(line.equals("R")){
a[d]++;
}
else {
b[d]++;
}
}
for (int i = 1; i < n+1; i++) {
for (int j = 1; j < m+1; j++) {
int temp = a[i]+b[j];
if (temp % 2 != 0){
ans++;
}
}
}
System.out.print(ans);
}
}
首先,通过Scanner类从标准输入读取三个整数n、m和k,分别表示矩阵的行数、列数和现代艺术作品的数量。
创建一个二维数组N,大小为(n+10)×(m+10),用于存储每个位置的状态。
创建两个一维数组a和b,分别表示每行和每列上现代艺术作品的数量。
使用一个循环读取k行输入,每行包含一个字符和一个整数,表示现代艺术作品的位置。如果字符为’R’,则在相应行上作品数量加1;如果字符为’C’,则在相应列上作品数量加1。
使用两层循环遍历矩阵的所有位置,计算每个位置上现代艺术作品的总数量。如果总数量为奇数,则将ans加1。最后,输出ans的值,即表示满足条件的现代艺术作品的总数量。
原题链接: