ALGO194审美课 java
《审美的历程》课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品,另外的都出自五岁小朋友之手。老师请同学们分辨哪些画的作者是梵高,但是老师自己并没有答案,因为这些画看上去都像是小朋友画的……老师只想知道,有多少对同学给出的答案完全相反,这样他就可以用这个数据去揭穿披着皇帝新衣的抽象艺术了(支持帅老师^_^)。
答案完全相反是指对每一幅画的判断都相反。
输入格式
第一行两个数n和m,表示学生数和图画数;
接下来是一个n*m的01矩阵A:
如果aij=0,表示学生i觉得第j幅画是小朋友画的;
如果aij=1,表示学生i觉得第j幅画是梵高画的。
输出格式
输出一个数ans:表示有多少对同学的答案完全相反。
样例输入
3 2
1 0
0 1
1 0
样例输出
2
样例说明
同学1和同学2的答案完全相反;
同学2和同学3的答案完全相反;
所以答案是2。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main2 {public static void main(String[] args) throws IOException {BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));String[] s = sc.readLine().split(" ");int n = Integer.parseInt(s[0]);int m = Integer.parseInt(s[1]);String[] ss = new String[n];for (int i = 0; i < ss.length; i++)ss[i] = sc.readLine().replace(" ", "");int[] a = new int[1024*1025];for (int i = 0; i < n; i++) {a[bin10(ss[i])]++;}int sum = 0;for (int i = 0; i < a.length; i++) {if(a[i]>0&&a[i^((int)Math.pow(2, m)-1)]>0) {sum+=a[i]*a[i^((int)Math.pow(2, m)-1)];a[i^((int)Math.pow(2, m)-1)]=0;}}System.out.println(sum);}private static int bin10(String ss) {return Integer.parseInt(ss,2);}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
