#AEAI01009. 抓取候选状态位编码

抓取候选状态位编码

题目描述

在抓取候选缓存中,多个布尔状态和离散标签需要被压缩成一个整数,便于日志记录和快速筛选。自动化科协具身智能部约定了每个字段占用的 bit 位置。

给定候选的目标标记、可见性、可达性、可抓取性、遮挡状态、距离分桶和类别标签,请按照题面指定的位移和按位或规则计算十进制编码 code

输入格式

  • 一行包含七个整数:target visible reachable graspable occluded distance_bin class_label。

输出格式

  • 输出一个十进制整数 code。

数据范围与约束

  • target、visible、reachable、graspable、occluded 均为 0 或 1
  • 0 <= distance_bin <= 3
  • 0 <= class_label <= 3

判定规则

使用标准输出比较。位字段编码按下列规则处理。

  • code = target<<0 | visible<<1 | reachable<<2 | graspable<<3 | occluded<<4 | distance_bin<<5 | class_label<<7。
  • visible=1 与 occluded=1 可以同时存在,不做语义修正。
  • 输出十进制整数,不输出二进制字符串。

样例

输入样例 1

1 1 1 0 0 2 3

输出样例 1

455

输入样例 2

0 0 0 0 0 0 0

输出样例 2

0

样例解释

样例覆盖全 0、全 1、单 bit 翻转和 visible/occluded 同时为 1。