zoukankan      html  css  js  c++  java
  • codeforces 467B Fedor and New Game 解题报告

    题目链接:http://codeforces.com/contest/467/problem/B

    题目意思:有 m + 1 个 player 和 n 种类型的 soldiers。每个player被赋予一个数xi,然后将xi 看成二进制数,规定第 j 位 如果为1,表示这个 player 有j 这种类型的soldiers。Fedor 是 第 m + 1 个player,问他能跟前面 m 个players 成为 friends 的 人数。成为friends 的条件是被比较的两个人的不同soldiers数不得多于 k 个。

        好容易想到方法,就是异或之后统计1的个数。不过数组开小了,被人 hack !而且比赛时间只有一小时,校园网断网!有进步的是,有时间做了下C,虽然是错掉了。

         太粗心了,留个纪念吧~~~

        

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstdlib>
     4 #include <cstring>
     5 using namespace std;
     6 
     7 const int maxn = 1000 + 10;
     8 int a[maxn];
     9 
    10 int main()
    11 {
    12     int n, m, k;
    13     while (scanf("%d%d%d", &n, &m, &k) != EOF)
    14     {
    15         for (int i = 0; i < m; i++)
    16             scanf("%d", &a[i]);
    17         scanf("%d", &a[m]);
    18         int ans = 0;
    19         for (int i = 0; i < m; i++)
    20         {
    21             int tmp = a[i] ^ a[m];
    22             int cnt = 0;
    23             for (; tmp; tmp >>= 1)
    24             {
    25                 if (tmp & 1)
    26                     cnt++;
    27             }
    28             if (cnt <= k)
    29                 ans++;
    30         }
    31         printf("%d
    ", ans);
    32     }
    33     return 0;
    34 }

        

  • 相关阅读:
    BFS模板 + 力扣例题
    和小吴日常3
    和小吴日常2
    Cocos Creator 学习记录
    js浏览器事件循环机制
    vue+uniapp 项目中一些常用知识
    JSP第一次作业
    Test
    InnoDB存储引擎
    MySQL存储引擎
  • 原文地址:https://www.cnblogs.com/windysai/p/3981226.html
Copyright © 2011-2022 走看看