位运算4

十个利用矩阵乘法解决的经典题目     好像目前还没有这方面题目的总结。这几天连续看到四个问这类题目的人,今天在这里简单写一下。这里我们不介绍其它有关矩阵的知识,只介绍矩阵乘法和相关性质。    不要以为数学中的矩阵也是黑色屏幕上不断变化的绿色字符。在数学中,一个矩阵说穿了就是一个二维数组。一个n行m列的矩阵可以乘以一个m行p列的矩阵,得到的结果是一个n行p列的矩阵,其中的第i行第j列位置上的数等于前一个矩阵第i行 阅读详情
 下面分享的是我自己写的三个代码,里面有些题目也是我自己出的。这些代码都是在我的Pascal时代写的,恕不提供C语言了。代码写得并不好,我只是想告诉大家位运算在实战中的应用,包括了搜索和状态压缩DP方面的题目。其实大家可以在网上找到更多用位运算优化的题目,这里整理出一些自己写的代码,只是为了原创系列文章的完整性。这一系列文章到这里就结束了,希望大家能有所收获。
    Matrix67原创,转贴请注明出处。


Problem : 费解的开关

题目来源
    06年NOIp模拟赛(一) by Matrix67 第四题

问题描述
    你玩过“拉灯”游戏吗?25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。
    我们用数字“1”表示一盏开着的灯,用数字“0”表示关着的灯。下面这种状态

10111
01101
10111
10000
11011

    在改变了最左上角的灯的状态后将变成:

01111
11101
10111
10000
11011

    再改变它正中间的灯后状态将变成:

01111
11001
11001
10100
11011

    给定一些游戏的初始状态,编写程序判断游戏者是否可能在6步以内使所有的灯都变亮。

输入格式
    第一行有一个正整数n,代表数据中共有n个待解决的游戏初始状态。
    以下若干行数据分为n组,每组数据有5行,每行5个字符。每组数据描述了一个游戏的初始状态。各组数据间用一个空行分隔。
    对于30%的数据,n<=5;
    对于100%的数据,n<=500。

输出格式
    输出数据一共有n行,每行有一个小于等于6的整数,它表示对于输入数据中对应的游戏状态最少需要几步才能使所有灯变亮。
    对于某一个游戏初始状态,若6步以内无法使所有灯变亮,请输出“-1”。

样例输入
3
00111
01011
10001
11010
11100

11101
11101
11110
11111
11111

01111
11111
11111
11111
11111

样例输出
3
2
-1



程序代码
const
   BigPrime=3214567;
   MaxStep=6;
type
   pointer=^rec;
   rec=record
         v:longint;
         step:integer;
         next:pointer;
       end;

var
   total:longint;
   hash:array[0..BigPrime-1]of pointer;
   q:array[1..400000]of rec;

function update(a:longint;p:integer):longint;
begin
   a:=a xor (1 shl p);
   if p mod 5<>0 then a:=a xor (1 shl (p-1));
   if (p+1) mod 5<>0 then a:=a xor (1 shl (p+1));
   if p<20 then a:=a xor (1 shl (p+5));
   if p>4 then a:=a xor (1 shl (p-5));
   exit(a);
end;

function find(a:longint;step:integer):boolean;
var
   now:pointer;
begin
   now:=hash[a mod BigPrime];
   while now<>nil do
   begin
      if now^.v=a then exit(true);
      now:=now^.next;
   end;

   new(now);
   now^.v:=a;
   now^.step:=step;
   now^.next:=hash[a mod BigPrime];
   hash[a mod BigPrime]:=now;
   total:=total+1;
   exit(false);
end;

procedure solve;
var
   p:integer;
   close:longint=0;
   open:longint=1;
begin
   find(1 shl 25-1,0);
   q[1].v:=1 shl 25-1;
   q[1].step:=0;
   repeat
      inc(close);
      for p:=0 to 24 do
         if not find(update(q[close].v,p),q[close].step+1) and (q[close].step+1<MaxStep) then
         begin
            open:=open+1;
            q[open].v:=update(q[close].v,p);
            q[open].step:=q[close].step+1;
         end;
   until close>=open;
end;

procedure print(a:longint);
var
   now:pointer;
begin
   now:=hash[a mod BigPrime];
   while now<>nil do
   begin
      if now^.v=a then
      begin
         writeln(now^.step);
         exit;
      end;
      now:=now^.next;
   end;
   writeln(-1);
end;

procedure main;
var
   ch:char;
   i,j,n:integer;
   t:longint;
begin
   readln(n);
   for i:=1 to n do
   begin
      t:=0;
      for j:=1 to 25 do
      begin
         read(ch);
         t:=t*2+ord(ch)-48;
         if j mod 5=0 then readln;
      end;
      print(t);
      if i<n then readln;
   end;
end;

begin
   solve;
   main;
end.


=======================  性感的分割线  =======================


Problem : garden / 和MM逛花园

题目来源
     07年Matrix67生日邀请赛第四题

问题描述
    花园设计强调,简单就是美。Matrix67常去的花园有着非常简单的布局:花园的所有景点的位置都是“对齐”了的,这些景点可以看作是平面坐标上的格点。相邻的景点之间有小路相连,这些小路全部平行于坐标轴。景点和小路组成了一个“不完整的网格”。
    一个典型的花园布局如左图所示。花园布局在6行4列的网格上,花园的16个景点的位置用红色标注在了图中。黑色线条表示景点间的小路,其余灰色部分实际并不存在。
        

    Matrix67 的生日那天,他要带着他的MM在花园里游玩。Matrix67不会带MM两次经过同一个景点,因此每个景点最多被游览一次。他和他的MM边走边聊,他们是如此的投入以致于他们从不会“主动地拐弯”。也就是说,除非前方已没有景点或是前方的景点已经访问过,否则他们会一直往前走下去。当前方景点不存在或已游览过时,Matrix67会带MM另选一个方向继续前进。由于景点个数有限,访问过的景点将越来越多,迟早会出现不能再走的情况(即四个方向上的相邻景点都访问过了),此时他们将结束花园的游览。Matrix67希望知道以这种方式游览花园是否有可能遍历所有的景点。Matrix67可以选择从任意一个景点开始游览,以任意一个景点结束。
    在上图所示的花园布局中,一种可能的游览方式如右图所示。这种浏览方式从(1,2)出发,以(2,4)结束,经过每个景点恰好一次。

输入格式
    第一行输入两个用空格隔开的正整数m和n,表示花园被布局在m行n列的网格上。
    以下m行每行n个字符,字符“0”表示该位置没有景点,字符“1”表示对应位置有景点。这些数字之间没有空格。

输出格式
    你的程序需要寻找满足“不主动拐弯”性质且遍历所有景点的游览路线。
    如果没有这样的游览路线,请输出一行“Impossible”(不带引号,注意大小写)。
    如果存在游览路线,请依次输出你的方案中访问的景点的坐标,每行输出一个。坐标的表示格式为“(x,y)”,代表第x行第y列。
    如果有多种方案,你只需要输出其中一种即可。评测系统可以判断你的方案的正确性。

样例输入
6 4
1100
1001
1111
1100
1110
1110

样例输出
(1,2)
(1,1)
(2,1)
(3,1)
(4,1)
(5,1)
(6,1)
(6,2)
(6,3)
(5,3)
(5,2)
(4,2)
(3,2)
(3,3)
(3,4)
(2,4)

数据规模
    对于30%的数据,n,m<=5;
    对于100%的数据,n,m<=10。



程序代码:
program garden;

const
   dir:array[1..4,1..2]of integer=
     ((1,0),(0,1),(-1,0),(0,-1));

type
   arr=array[1..10]of integer;
   rec=record x,y:integer;end;

var
   map:array[0..11,0..11]of boolean;
   ans:array[1..100]of rec;
   n,m,max:integer;
   step:integer=1;
   state:arr;

procedure readp;
var
   i,j:integer;
   ch:char;
begin
   readln(m,n);
   for i:=1 to n do
   begin
      for j:=1 to m do
      begin
         read(ch);
         map[i,j]:=(ch='1');
         inc(max,ord( map[i,j] ))
      end;
   readln;
   end;
end;

procedure writep;
var
   i:integer;
begin
   for i:=1 to step do
      writeln( '(' , ans[i].x , ',' , ans[i].y , ')' );
end;

procedure solve(x,y:integer);
var
   tx,ty,d:integer;
   step_cache:integer;
   state_cache:arr;
begin
   step_cache:=step;
   state_cache:=state;
   if step=max then
   begin
      writep;
      exit;
   end;

   for d:=1 to 4 do
   begin
      tx:=x+dir[d,1];
      ty:=y+dir[d,2];
      while map[tx,ty] and ( not state[tx] and(1 shl (ty-1) )>0) do
      begin
         inc(step);
         ans[step].x:=tx;
         ans[step].y:=ty;
         state[tx]:=state[tx] or ( 1 shl (ty-1) );
         tx:=tx+dir[d,1];
         ty:=ty+dir[d,2];
      end;

      tx:=tx-dir[d,1];
      ty:=ty-dir[d,2];
      if (tx<>x) or (ty<>y) then solve(tx,ty);
      state:=state_cache;
      step:=step_cache;
   end;
end;

{====main====}
var
   i,j:integer;
begin
   assign(input,'garden.in');
   reset(input);
   assign(output,'garden.out');
   rewrite(output);

   readp;
   for i:=1 to n do
   for j:=1 to m do
     if map[i,j] then
     begin
        ans[1].x:=i;
        ans[1].y:=j;
        state[i]:=1 shl (j-1);
        solve(i,j);
        state[i]:=0;
     end;

   close(input);
   close(output);
end.


=======================  性感的分割线  =======================


Problem : cowfood / 玉米地

题目来源
    USACO月赛

问题描述
    农夫约翰购买了一处肥沃的矩形牧场,分成M*N(1<=M<=12; 1<=N<=12)个格子。他想在那里的一些格子中种植美味的玉米。遗憾的是,有些格子区域的土地是贫瘠的,不能耕种。
    精明的约翰知道奶牛们进食时不喜欢和别的牛相邻,所以一旦在一个格子中种植玉米,那么他就不会在相邻的格子中种植,即没有两个被选中的格子拥有公共边。他还没有最终确定哪些格子要选择种植玉米。
    作为一个思想开明的人,农夫约翰希望考虑所有可行的选择格子种植方案。由于太开明,他还考虑一个格子都不选择的种植方案!请帮助农夫约翰确定种植方案总数。

输入格式:
    第一行:两个用空格分隔的整数M和N
    第二行到第M+1行:第i+1行描述牧场第i行每个格子的情况,N个用空格分隔的整数,表示这个格子是否可以种植(1表示肥沃的、适合种植,0表示贫瘠的、不可种植)

输出格式
    一个整数,农夫约翰可选择的方案总数除以 100,000,000 的余数

样例输入
2 3
1 1 1
0 1 0

样例输出
9

样例说明

    给可以种植玉米的格子编号:
      1 2 3
        4


    只种一个格子的方案有四种(1,2,3或4),种植两个格子的方案有三种(13,14或34),种植三个格子的方案有一种(134),还有一种什么格子都不种。
    4+3+1+1=9。

数据规模
    对于30%的数据,N,M<=4;
    对于100%的数据,N,M<=12。



程序代码:
program cowfood;

const
   d=100000000;
   MaxN=12;

var
   f:array[0..MaxN,1..2000]of longint;
   w:array[1..2000,1..2000]of boolean;
   st:array[0..2000]of integer;
   map:array[0..MaxN]of integer;
   m,n:integer;

function Impossible(a:integer):boolean;
var
   i:integer;
   flag:boolean=false;
begin
   for i:=1 to MaxN do
   begin
      if flag and (a and 1=1) then exit(true);
      flag:=(a and 1=1);
      a:=a shr 1;
   end;
   exit(false);
end;

function Conflict(a,b:integer):boolean;
var
   i:integer;
begin
   for i:=1 to MaxN do
   begin
      if (a and 1=1) and (b and 1=1) then exit(true);
      a:=a shr 1;
      b:=b shr 1;
   end;
   exit(false);
end;

function CanPlace(a,b:integer):boolean;
begin
   exit(a or b=b);
end;

procedure FindSt;
var
   i:integer;
begin
   for i:=0 to 1 shl MaxN-1 do
      if not Impossible(i) then
      begin
         inc(st[0]);
         st[st[0]]:=i;
      end;
end;

procedure Init;
var
   i,j:integer;
begin
   for i:=1 to st[0] do
   for j:=i to st[0] do
      if not Conflict(st[i],st[j]) then
      begin
         w[i,j]:=true;
         w[j,i]:=true;
      end;
end;

procedure Readp;
var
   i,j,t,v:integer;
begin
   readln(m,n);
   for i:=1 to m do
   begin
      v:=0;
      for j:=1 to n do
      begin
         read(t);
         v:=v*2+t;
      end;
      map[i]:=v;
      readln;
   end;
end;

procedure Solve;
var
   i,j,k:integer;
begin
   f[0,1]:=1;
   map[0]:=1 shl n-1;
   for i:=1 to m do
   for j:=1 to st[0] do
      if not CanPlace(st[j],map[i]) then f[i,j]:=-1 else
        for k:=1 to st[0] do if (f[i-1,k]<>-1) and w[j,k] then
           f[i,j]:=(f[i,j]+f[i-1,k]) mod d;
end;

procedure Writep;
var
   j:integer;
   ans:longint=0;
begin
   for j:=1 to st[0] do
      if f[m,j]<>-1 then ans:=(ans+f[m,j]) mod d;
   writeln(ans);
end;

begin
   assign(input,'cowfood.in');
   reset(input);
   assign(output,'cowfood.out');
   rewrite(output);

   FindSt;
   Init;
   Readp;
   Solve;
   Writep;

   close(input);
   close(output);
end.

B4X语言:Bit对象的位运算方法详解 Bit对象是B4X提供的一个高效的二进制运算工具,使用Bit对象运算通常比常规的算术或逻辑操作更快,因为它们直接在底层硬件上执行,不需要进行复杂的计算或转换,可以显著减少计算时间,提高程序的运行效率。在需要高性能计算的场景中,特别是在一些嵌入式系统或资源受限的环境中,Bit对象常常被用来优化代码,以开发更简洁高效的APP。 阅读详情

相关推荐

使用GEOquery包下载原始数据

使用GEOquery包下载原始数据

m0_75172651的博客 1887

(Matrix67)位运算应用进阶

二进制中的1有奇数个还是偶数个     我们可以用下面的代码来计算一个32位整数的二进制中1的个数的奇偶性,当输入数据的二进制表示里有偶数个数字1时程序输出0,有奇数个则输出1。例如,1314520的二进制101000000111011011000中有9个1,则x=1314520时程序输出1。 var    i,x,c:longint; begin    readln(x);    c

新博客地址:sensirly.github.io 1816

BlenderGis安装碰到问题,ImageIO、无法点击和地图不加载

BlenderGis安装碰到问题,ImageIO、无法点击和地图不加载问题

qq_45176349的博客 4964

KMP算法详解

    如果机房马上要关门了,或者你急着要和MM约会,请直接跳到第六个自然段。     我们这里说的KMP不是拿来放电影的(虽然我很喜欢这个软件),而是一种算法。KMP算法是拿来处理字符串匹配的。换句话说,给你两个字符串,你需要回答,B串是否是A串的子串(A串是否包含B串)。比如,字符串A="Im matrix67",字符串B="matrix",我们就说B是A的子串。你可以委婉地问

matrix67的专栏 2572

ROS2实战:打造智能巡检机器人的关键技术与实现

本文详细介绍了基于ROS2和Navigation2构建智能巡检机器人的完整实战流程。通过设计主从协作的事件驱动架构,实现了机器人在已知地图中的自动导航、定点语音播报和环境图像采集功能。文章涵盖了从环境搭建、仿真配置到核心控制节点、语音服务与图像记录模块的代码实现,为开发者打造实用的自动巡检机器人提供了清晰的技术指南。

weixin_29031057的博客 222

【DeepSeek R1构建本地RAG知识库】数据结构化清洗-工作流自动清洗

在构建本地RAG知识库时,数据结构化清洗是关键但繁琐的步骤。传统方法效率低且易出错,而低代码/无代码平台如Dify提供了更高效的解决方案。Dify通过可视化工作流设计,集成大模型智能处理,支持多格式输入输出,无需编码即可完成复杂的数据清洗任务。文章详细介绍了数据结构化的核心困境、目标、价值及类型,并比较了TXT与Markdown在RAG系统中的适用性。最后,通过Dify平台实战演示了如何在20分钟内完成规则制度文档的结构化清洗,输出标准化数据,展示了自动化工作流在数据处理中的高效性和便捷性。

少说,多做 1222

matrix67 && localhost

应该常常关注一下,令人羡慕的一对 http://www.matrix67.com/

小飞鱼的专栏 1496

YOLO11改进-注意力-引入自调制特征聚合模块SMFA

SMFA(自调制特征聚合模块): SMFA模块用于协同建模局部和非局部信息,它分为两个分支:一个是EASA(Efficient Approximation of Self-Attention,简化的自注意力分支),用于捕获非局部信息;另一个是LDE(Local Detail Estimation,局部细节估计分支),用于捕获局部细节。EASA通过对输入特征进行下采样,然后利用全局特征的方差进行调制,再与原始特征进行聚合,提取非局部结构信息。LDE分支则通过卷积操作提取输入特征中的高频局部信息。

qq_64693987的博客 2208

位运算简介及实用技巧(四):实战篇

    下面分享的是我自己写的三个代码,里面有些题目也是我自己出的。这些代码都是在我的Pascal时代写的,恕不提供C语言了。代码写得并不好,我只是想告诉大家位运算在实战中的应用,包括了搜索和状态压缩DP方面的题目。其实大家可以在网上找到更多用位运算优化的题目,这里整理出一些自己写的代码,只是为了原创系列文章的完整性。这一系列文章到这里就结束了,希望大家能有所收获。    Matri

matrix67的专栏 830

司法AI系统的架构设计:法律知识图谱如何辅助智能庭审?架构师亲测

简单来说,法律知识图谱是一种采用图数据结构(节点Node + 边Edge/关系Relation)来组织和表达法律领域知识的语义网络。它以。

AI 算法实战派 1088

位运算、递归————4的幂

方法一:递归 1 class Solution { 2 public: 3 bool isPowerOfFour(int num) { 4 if(num<=0) return false; 5 if(num==1) return true; 6 if(num%4 == 0){ 7 ...

193

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

[位运算]位运算的4个简单应用

1. 不用任何比较判断两个数中大的那个数我们将两个数做差,得到另一个数,判断这个数的符号位就可以了。当然,不能直接使用判断语句,所以我们使用位运算来操作。2. 两个相同的数异或结果等于0。就这道题而言,在运算过程中会产生一个中间值,即a与b的异或结果,a异或b再异或b就会等于a,如果第二次异或a就会等于b。所以直接三个异或就可以搞定3. 整数的二进制中有多少个1每次循环采用n&amp;=(n-1)...

qian_youyou的博客 1096

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

4的幂(位运算)

给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。 示例 1: 输入: 16 输出: true 示例 2: 输入: 5 输出: false 进阶: 你能不使用循环或者递归来完成本题吗? 自己写的代码: class Solution { public: bool isPowerOfFour(int num) { if(nu...

yong_zi的博客 653

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【leetcode】 342. 4的幂 「位运算」

342. 4的幂 难度简单235收藏分享切换为英文接收动态反馈 给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回true;否则,返回false。 整数n是 4 的幂次方需满足:存在整数x使得n == 4x 示例 1: 输入:n = 16 输出:true 示例 2: 输入:n = 5 输出:false 示例 3: 输入:n = 1 输出:true 提示: -2^31<= n <= 2^31- 1 进阶: ...

Khalil三省的博客妙妙屋 165

LeetCode 342. 4的幂(位运算)

文章目录1. 题目2. 解题2.1 通用解法2.2 找规律 1. 题目 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。 示例 1: 输入: 16 输出: true 示例 2: 输入: 5 输出: false 进阶: 你能不使用循环或者递归来完成本题吗? 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/p...

Michael是个半路程序员 1082

leetcode之位运算——2的幂与4的幂次

2的幂次 public boolean isPowerOfTwo(int n) { // //先用循环的方式 // if(n<1) return false; // if(n==1||n==2) return true; // while(n!=0&&n%2==0){ // n/=2; // } // return n==1; //再用位运算

qq_44802992的博客 258

位运算 - 判断一个数是不是 4 的 n 次方

1.题目 LeetCode: 342. 4的幂 【easy】 2.解题 方法一:递归法 java: class Solution { public boolean isPowerOfFour(int n) { if (n == 1) return true; return n > 0 && isPowerOfFour(n / 4) && (n % 4) == 0; } } 方法二:位运算 java: class Solu

一杯红酒7的博客 376

342. 4的幂(位运算)(看方法四)

方法一: class Solution { public boolean isPowerOfFour(int num) { if(num == 0) return false; while(num%4 == 0){ num = num>>2; } return num ==1; } } 方...

qq_37637619的博客 181

【力扣日记】342 4的幂 | 位运算

题目描述 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。 算法思路 1、循环 class Solution: def isPowerOfFour(self, num: int) -> bool: if num<=0:return False while num>=4: if num...

Heart_for_Ling的博客 401

【位运算-简单】342. 4的幂

【题目】 给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。 整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x 【示例 1】 输入:n = 16 输出:true 【示例 2】 输入:n = 5 输出:false 【示例 3】 输入:n = 1 输出:true 【提示】 -231 <= n <= 231 - 1 【进阶】 你能不使用循环或者递归来完成本题吗? 【代码】 【Python】 执行用时: 44 ms, 在所有 P

... 162

【342. 4的幂】位运算

方法:位运算(两种方法) class Solution { public: bool isPowerOfFour(int n) { return n>0&&(n&n-1)==0&&(n&0xaaaaaaaa)==0; } }; class Solution { public: bool isPowerOfFour(int n) { //1(00)* //(n&am..

Nancy9669的博客 236

【OpenCV 4】图像像素的位运算:与、或、非、异或

OpenCV 4.1.0 中图像像素的位运行:与、或、非、异或(C++代码演示)。 编程环境:OpenCV 4.1.0 + Visual Studio 2017

风语留痕 5985

4位先行进位电路 logisim_简单聊聊位运算

位运算符 |,&,~,^,>>,<<(1) 按位或运算 |1|1=1 0|1=1 1|0=1 0|0=0即只要对应的二个二进位有一个为1时,结果位就为1案例a = 53 # 转为2进制 0011 0101 b = 13 # 转为2进制 0000 1101 c = a | b # a | b 的二进制结果为 0011 1101 (计算方式:对应...

weixin_39673471的博客 1258

leetcode 342.4的幂 - 位运算

leetcode 342.4的幂 - 位运算 题干 给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。 整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x 示例 1: 输入:n = 16 输出:true 示例 2: 输入:n = 5 输出:false 示例 3: 输入:n = 1 输出:true 提示: -231 <= n <= 231 - 1 进阶: 你能不使用循环或者递归来完成本题吗? 知识点&算法 遍历,掩码

玛软的垃圾桶 162
上一篇: 位运算(3)
下一篇: hdu 3065
Sov_Matrix
博客等级 码龄17年 0粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值