资讯专栏INFORMATION COLUMN

蓝桥杯 算法训练 审美课 java

worldligang / 2372人阅读

摘要:问题描述审美的历程课上有位学生,帅老师展示了幅画,其中有些是梵高的作品,另外的都出自五岁小朋友之手。输入格式第一行两个数和,表示学生数和图画数接下来是一个的矩阵如果,表示学生觉得第幅画是小朋友画的如果,表示学生觉得第幅画是梵高画的。

问题描述
  《审美的历程》课上有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。
数据规模和约定
  对于50%的数据:n<=1000;
  对于80%的数据:n<=10000;
  对于100%的数据:n<=50000,m<=20。

Think
对二进制数比较的时候我们可以先转换为我们熟悉的十进制数。

code

import java.io.*;

public class Main {

    static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));

    public static void main(String[] args) throws IOException {
        int n = nextInt(), m = nextInt(), count = 0, answer[][] = new int[n][m];
        for (int i = 0; i < n; i++)
            for (int j = 0; j < m; j++)
                answer[i][j] = nextInt();
        int max = (1 << m) - 1,shi[] = new int[max + 1];        
        for (int i = 0; i < n; i++) {
            int sum = 0;
            for (int j = 0; j < m; j++) {
                sum = (sum << 1) + answer[i][j];
            }
            shi[sum]++;
        }
        for (int x = 0; x < shi.length; x++) {
            if (shi[x] != 0) {
                int y = x ^ max;
                count += shi[y] * shi[x];
            }
        }
        System.out.print(count / 2);
    }

    private static int nextInt() throws IOException {
        in.nextToken();
        return (int) in.nval;
    }
}

满分通过。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73584.html

相关文章

  • 备战蓝桥——算法训练之过河马

    摘要:而众所周知,马是要走日子格的。输出格式输出有一行,一个数表示走法数。那为了防止爆掉,我们每加完一条路的总步数之后就取一遍余。题目解法思路如上述,但是这里有一个我之前从来没有注意过的问题,导致我一直只有分。三题解四题目链接过河马 ...

    xorpay 评论0 收藏0
  • 普通大一学生的自我反思

    摘要:听了鹏哥的教导,也开始写起了博客现在多粉,感觉都是机器人哈哈,最近粉丝也不涨了,不知道是不是我最近不发文章的原因。这一个多月,基本就是学刷算法题。在这里不得不吐槽一下学校,每条早上做早操,晚自习到点,感觉浪费了我很多学习技术的时间。 ...

    callmewhy 评论0 收藏0
  • 2021蓝桥你值得拥有

    摘要:文章目录一你应该知道的蓝桥杯含金量获奖率高不高支持哪些编程语言二川川带你体验蓝桥杯省赛蓝桥杯蓝桥杯三个人感受一你应该知道的蓝桥杯如果你是计算机相关专业,你不知蓝桥杯就过不去了,我们来看看蓝桥杯如何,不知道更应该来了解下了。 ...

    fanux 评论0 收藏0
  • 2018第九届蓝桥Java b组总结

    摘要:现在小明想统计有哪些帖子曾经是热帖。如果一个帖子曾在任意一个长度为的时间段内收到不少于个赞,小明就认为这个帖子曾是热帖。以下行列代表一张海域照片。照片保证第行第列第行第列的像素都是海洋。 2018年4月1日愚人节,我第一次参加了有关计算机算法类比赛蓝桥杯,这篇算是经验总结和题目回顾,水平有限,有不妥之处欢迎留言批评指正,也可以加QQ891465170交流~下面进入正题: 第一题:第几...

    codecook 评论0 收藏0
  • 蓝桥-乌托邦树

    摘要:传送门题目描述实现一个算法得到乌托邦树的高度介绍如下乌托邦树每年经历个生长周期。每年夏天,它的高度都会增加米。对于一颗在春天开始时种下的高米的树,问经过指定周期后,树的高度为多少。输入描述输入一个数字,表示指定周期。 ...

    caiyongji 评论0 收藏0

发表评论

0条评论

worldligang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<