CSU1610: Binary Subtraction

Description

Zuosige always has bad luck. Recently, he is in hospital because of pneumonia. While he is taking his injection, he feels extremely bored. However, clever Zuosige comes up with a new game.

Zuosige writes two binary number on a paper, which are labelled as A and B. It is guaranteed that A is greater than B and A xor B = 2n+1-1 (n is the length of A), where xor means bitwise exclusive-or. Now he wants to know the value of A - B in
binary.

Input

The first line contains one integer T, indicating the number of test cases.

In one test case, there are two lines.

In the first line, there are two integers n, m (0<=m < n/2, 1<=n<=1000000), indicating the length of the numbers and the number of 1s in B.

In the second line, there m integers indicating the positions where B is 1. Positions starting from 1, which is the lowest bit. It is guaranteed that A is greater than B.

Output

For each test case, output a line indicating the answer in binary without leading zero.

Sample Input

2
9 3
2 5 6
8 5
1 2 3 5 6

Sample Output

110011011
10010001

HINT

Source

题意:AB互异,知道B,求A

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <math.h>
#include <algorithm>
using namespace std;
#define ls 2*i
#define rs 2*i+1
#define up(i,x,y) for(i=x;i<=y;i++)
#define down(i,x,y) for(i=x;i>=y;i--)
#define mem(a,x) memset(a,x,sizeof(a))
#define w(a) while(a)
#define LL long long
const double pi = acos(-1.0);
#define N 1000005
#define mod 19999997
const int INF = 0x3f3f3f3f;
#define exp 1e-8

int a[N],b[N],ans[N];

int main()
{
    int t,n,m,i,j,k;
    cin >> t;
    w(t--)
    {
        cin>>n>>m;
        up(i,0,n)
        {
            b[i] = 0;
            a[i] = 1;
        }
        w(m--)
        {
            scanf("%d",&k);
            b[k] = 1;
            a[k] = 0;
        }
        int flag = 1;
        down(i,n-1,0)
        {
            if(a[i]==0&&flag) continue;
            printf("%d",a[i]);
            flag = 0;
        }
        printf("\n");
    }

    return 0;
}
时间: 2024-08-14 21:35:29

CSU1610: Binary Subtraction的相关文章

ros routeros 脚本命令script

原文: https://blog.51cto.com/cmdschool/1701302 最近要写一个routeros的script,但对其语法十窍九通,故而整理此文,以作参阅. 同时也发扬一下共享的精神,整理后的文稿就放出来供各博友参阅,有不对的地方欢迎指正. 1.命令行使用 1.1.命令行语法 [prefix] [path] command [uparam] [param=[value]] .. [param=[value]] [prefix] - 前缀,以"."或"/&

A.Kaw矩阵代数初步学习笔记 3. Binary Matrix Operations

“矩阵代数初步”(Introduction to MATRIX ALGEBRA)课程由Prof. A.K.Kaw(University of South Florida)设计并讲授. PDF格式学习笔记下载(Academia.edu) 第3章课程讲义下载(PDF) Summary Addition of matrices Two matrices $[A]$ and $[B]$ can be added only if they are the same size. The addition i

Maximum Depth of Binary Tree

这道题为简单题 题目: Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node. 思路: 我是用递归做的,当然也可以用深搜和广搜,递归的话就是比较左右子树的深度然后返回 代码: 1 # Definition for a binary tre

[LeetCode] Find Mode in Binary Search Tree 找二分搜索数的众数

Given a binary search tree (BST) with duplicates, find all the mode(s) (the most frequently occurred element) in the given BST. Assume a BST is defined as follows: The left subtree of a node contains only nodes with keys less than or equal to the nod

226反转二叉树 Invert Binary Tree

Invert a binary tree. 4 / 2 7 / \ / 1 3 6 9 to 4 / 7 2 / \ / 9 6 3 1 Trivia:This problem was inspired by this original tweet by Max Howell: Google: 90% of our engineers use the software you wrote (Homebrew), but you can't invert a binary tree on a wh

[leetcode] 104. Maximum Depth of Binary Tree

Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node. 递归遍历 左子树 和 右子树 一刷: public int maxDepth(TreeNode root) { if(root == null){ return 0; } int

235. Lowest Common Ancestor of a Binary Search Tree

1. 问题描述 Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes v and w as the lowest node in T th

leetcode 109 Convert Sorted List to Binary Search Tree

题目连接 https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/ Convert Sorted List to Binary Search Tree Description Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST. /** * De

Lowest Common Ancestor of a Binary Search Tree

1. Title 235. Lowest Common Ancestor of a Binary Search Tree 2. Http address https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/ 3. The question Given a binary search tree (BST), find the lowest common ancestor (LCA) of two