hdoj 3711 Binary Number

原创 2012年03月31日 16:06:57

来源:2010 Asia Chengdu Regional Contest

思路:简单题,计算最小不同位的个数。

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>

using namespace std;

const int MAX = 110;
const int INF = 1000001;
int a[MAX], b[MAX];
int n, m;

int cmp(int c, int d) {
    return c < d;
}

int solve(int v) {
    int mi = INF, ans=0;
    int i, tb, ta, cnt;
    for (i = 0; i < m; ++i) {
        ta = a[i];
        tb = v;
        cnt = 0;
        while (ta || tb) {
            if (ta%2 != tb %2)
                cnt++;
            if (ta)
                ta >>= 1;
            if (tb)
                tb >>= 1;
        }
        if (cnt < mi) {
            mi = cnt;
            ans = a[i];
        }
    }
    return ans;
}

int main()
{
    int i, t;
    scanf("%d", &t);
    while (t--) {
        scanf("%d %d", &m, &n);
        for (i = 0; i < m; ++i)
            scanf("%d", &a[i]);
        sort(a, a+m, cmp);
        for (i = 0; i < n; ++i) {
            scanf("%d", &b[i]);
            printf("%d\n", solve(b[i]));
        }

    }
    return 0;
}


HDU 3711 Binary Number

Problem Description For 2 non-negative integers x and y, f(x, y) is defined as the number of differ...
  • u012313382
  • u012313382
  • 2014年01月19日 08:53
  • 599

Hdu 3711 Binary Number

大意:给定两个数组A,B,让你求在二进制表示下,B中数变为A中数所需要的最小操作。 思路:对每一个B中的数,枚举A中所有数,保存最小值即可,注意题目要求选A中最小的那个数,所以开始需要排序。位运算求...
  • Wall_F
  • Wall_F
  • 2013年03月23日 21:29
  • 1320

杭电 3711 Binary Number

Binary Number Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...
  • u014688855
  • u014688855
  • 2014年06月12日 17:34
  • 1021

hdu 3711 Binary Number

Description For 2 non-negative integers x and y, f(x, y) is defined as the number of different bits...
  • ACM__dongsheng
  • ACM__dongsheng
  • 2016年06月23日 11:35
  • 273

HDU 3711 Binary Number

Binary Number Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...
  • h1120023921
  • h1120023921
  • 2016年09月14日 20:33
  • 135

(枚举)HDU 3711 Binary Number

f(x, y) is defined as the number of different bits in the binary format of x and y. For example, f(2...
  • VAC27
  • VAC27
  • 2016年07月26日 16:45
  • 98

HDU 3711 D - Binary Number

Description For 2 non-negative integers x and y, f(x, y) is defined as the number of different bits...
  • superxtong
  • superxtong
  • 2016年06月01日 22:22
  • 90

枚举->HDU 3711 Binary Number

Binary Number Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit ...
  • u011676717
  • u011676717
  • 2013年10月13日 21:14
  • 548

python--leetcode693. Binary Number with Alternating Bits

Given a positive integer, check whether it has alternating bits: namely, if two adjacent bits will a...
  • wenqiwenqi123
  • wenqiwenqi123
  • 2017年10月13日 19:31
  • 250

HDU 3711 Binary Number【水题】【bitset】

Binary Number Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...
  • Archger
  • Archger
  • 2017年06月30日 17:31
  • 111
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdoj 3711 Binary Number
举报原因:
原因补充:

(最多只允许输入30个字)