UVa 10196 - Check The Check

大模型训练显存瘦身全记录:从ZeRO-3参数分区到CPU Offload的硬件协奏曲 本文详细解析了如何通过ZeRO-3参数分区与CPU/NVMe卸载技术优化大模型训练的显存使用。结合bf16混合精度与梯度累积等策略,实现在消费级GPU上高效训练百亿参数模型,显著提升硬件利用率与训练效率。 阅读详情

模拟题,代码稍长,一定仔细。

代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
using namespace std;
char Map[8][9];
int Hstep_x[8] = {2, 2, -2, -2, 1, 1, -1, -1};
int Hstep_y[8] = {1, -1, 1, -1, 2, -2, 2, -2};
// 马的走法
bool Border(int i, int j)
// 判断边界
{
    if(i>=0&&i<8&&j>=0&&j<8)
        return true;
    return false;
}
bool Judge_Straight(int x, int y, char k)
// 判断横竖直线攻击
{
    for(int i=y+1; i<8; i++)
        if(Map[x][i] == k)
            return true;
        else if(Map[x][i] != '.')
            break;
    for(int i=y-1; i>=0; i--)
        if(Map[x][i] == k)
            return true;
        else if(Map[x][i] != '.')
            break;
    for(int i=x+1; i<8; i++)
        if(Map[i][y] == k)
            return true;
        else if(Map[i][y] != '.')
            break;
    for(int i=x-1; i>=0; i--)
        if(Map[i][y] == k)
            return true;
        else if(Map[i][y] != '.')
            break;
    return false;
}
bool Judge_Diagonal(int x, int y, char k)
// 判断对角线攻击
{
    for(int i=x+1,j=y+1; ; i++,j++)
        if(Border(i, j))
        {
            if(Map[i][j]==k)
                return true;
            else if(Map[i][j]!='.')
                break;
        }
        else
            break;
    for(int i=x+1,j=y-1; ; i++,j--)
        if(Border(i, j))
        {
            if(Map[i][j]==k)
                return true;
            else if(Map[i][j]!='.')
                break;
        }
        else
            break;
    for(int i=x-1,j=y+1; ; i--,j++)
        if(Border(i, j))
        {
            if(Map[i][j]==k)
                return true;
            else if(Map[i][j]!='.')
                break;
        }
        else
            break;
    for(int i=x-1,j=y-1; ; i--,j--)
        if(Border(i, j))
        {
            if(Map[i][j]==k)
                return true;
            else if(Map[i][j]!='.')
                break;
        }
        else
            break;
    return false;
}
bool Judge_Horse(int x, int y, char k)
// ‘马’的攻击判断
{
    for(int i=0; i<8; i++)
        if(Border(x+Hstep_x[i], y+Hstep_y[i])
        &&Map[x+Hstep_x[i]][y+Hstep_y[i]] == k)
            return true;
    return false;
}
int Judge(int x, int y)
{
    switch(Map[x][y])
    {
    case 'p':
        // ‘卒’攻击判断
        if(Border(x+1, y+1)&&Map[x+1][y+1]=='K')
            return 1;
        else if(Border(x+1, y-1)&&Map[x+1][y-1]=='K')
            return 1;
        break;
    case 'r'://‘车’攻击判断
        if(Judge_Straight(x, y, 'K'))
            return 1;
        break;
    case 'b'://‘象’攻击判断
        if(Judge_Diagonal(x, y, 'K'))
            return 1;
        break;
    case 'q'://‘后’攻击判断
        if(Judge_Straight(x, y, 'K') || Judge_Diagonal(x, y, 'K'))
            return 1;
        break;
    case 'n'://‘马’攻击判断
        if(Judge_Horse(x, y, 'K'))
            return 1;
        break;
    case 'P':
        if(Border(x-1, y+1)&&Map[x-1][y+1]=='k')
            return -1;
        else if(Border(x-1, y-1)&&Map[x-1][y-1]=='k')
            return -1;
        break;
    case 'R':
        if(Judge_Straight(x, y, 'k'))
            return -1;
        break;
    case 'B':
        if(Judge_Diagonal(x, y, 'k'))
            return -1;
        break;
    case 'Q':
        if(Judge_Straight(x, y, 'k') || Judge_Diagonal(x, y, 'k'))
            return -1;
        break;
    case 'N':
        if(Judge_Horse(x, y, 'k'))
            return -1;
        break;
    }
    return 0;
}
int solve()
{
    int ans;
    for(int i=0; i<8; i++)
        for(int j=0; j<8; j++)
        {
            ans = Judge(i, j);
            if(ans)
                return ans;
        }
    return 0;
}
int main()
{
#ifdef test
    freopen("sample.txt", "r", stdin);
#endif
    int ans, cct = 0;
    while(1)
    {
        int flag = 0;
        for(int i=0; i<8; i++)
            scanf("%s", Map[i]);
        for(int i=0; i<8; i++)
            if(strcmp(Map[i], "........"))
                flag = 1;
        if(!flag)
            break;
        ans = solve();
        printf("Game #%d: ", ++cct);
        if(ans == -1)
            printf("black king is in check.\n");
        else if(ans == 1)
            printf("white king is in check.\n");
        else
            printf("no king is in check.\n");
    }
    return 0;
}


第五章 TTM 后备管理:5.6系统内存域 系统内存域由 TTM 内置资源管理器管理,通过 ttm_tt 承载页信息,依赖 ttm_pool 提供物理页。ttm_tt 管理页数组、缓存属性与状态标志,支持外部页与换出机制。初始化分 ttm_tt_init 与 ttm_sg_tt_init,生命周期包括创建、填充、释放与销毁。页池针对 write-combined、uncached 及一致性 DMA 分配的页进行缓存,提升性能并减少 TLB 刷新。分配时高阶优先、批量设置缓存属性,回收时清零后归还池中,确保高效复用。 阅读详情

相关推荐

AWD线下攻防赛总结

在本地组策略编辑器里面,依次展开计算机配置—>管理模板—>Windows组件—>远程桌面服务—>远程桌面会话主机—>连接—>限制连接的数量。8.Web目录环境查找相关可疑文件:jpg/png/rar,属性、解压。进程线程:netstat / ps -aux/netstat -apt。4.查看/etc/init.d/rc.local中启动服务有无异常。1.不使用默认口令,修改成复杂的,并确保和web环境连接。5.使用脚本开启进程监控、目录监控、流量监控。文件操作监控.exe/御剑文件监控.exe。

XuJL89的博客 630

UVA10196 Check The Check【模拟+回溯】

Your task is to write a program that reads a chess board configuration and answers if there’s a king under attack (i.e. “in check”). A king is in check if it’s in a square which is attacked by an opon...

海岛Blog 1211

用Arduino和FS-i6X遥控器,从零开始打造你的第一只仿生扑翼蝴蝶(附完整代码解析)

本文详细介绍了如何利用Arduino和FS-i6X遥控器从零开始制作仿生扑翼蝴蝶,包括硬件准备、电路连接、代码解析和调试技巧。通过完整的代码示例和参数说明,帮助读者快速掌握仿生机器人的制作要点,实现蝴蝶的自然飞行效果。

weixin_28727975的博客 309

uva 10196 Check The Check

题目:10196-Check The Check 思路:水题。。模拟 这个代码,前半部分是在数统机房上课的时候写的,挫了点,懒得改了。 #include <cstdio> #include <iostream> #include <algorithm> #include <cstring> #include...

weixin_30555515的博客 85

LT9611EX芯片实战:如何用双端口MIPI转HDMI1.4打造高清播放器(附配置代码)

本文详细介绍了如何使用龙迅半导体的LT9611EX芯片实现双端口MIPI转HDMI1.4的高清播放器开发。内容涵盖芯片特性、硬件设计要点、寄存器配置技巧及完整代码实现,特别适合嵌入式视频处理应用,如机顶盒和便携式媒体播放器。

weixin_29256771的博客 322

Kali实战:LAMPSecurity CTF5靶场渗透全流程(附详细漏洞利用步骤)

本文详细解析了Kali Linux在LAMPSecurity CTF5靶场渗透中的全流程,包括靶场环境搭建、Web应用漏洞挖掘、横向移动与权限提升等关键步骤。通过实战案例演示了如何利用NanoCMS漏洞获取系统权限,并提供了详细的防御措施与加固建议,帮助安全人员提升渗透测试技能。

weixin_29230901的博客 211

UVa Problem Solution: 10196 - Check The Check

Checking the kings against others may be faster than checking reversely. I check the knights first and then pawns. All the others are checked by walking along in the eight directions. You must be very

Kaipeng Liu's Column 2232

Disk Drill 使用教程

Disk Drill只需单击几下,即可恢复USB闪存驱动器上已删除的数据,包括丢失的照片,文档和其他文件类型。Disk Drill是真正的多合一应用程序,可在Mac上恢复闪存驱动器。Disk Drill将自动应用最佳的笔式驱动器恢复算法来恢复Mac数据。 USB闪存驱动器是一种传输和存储信息的好方法,但是如果错误地丢失或删除了存储在其中的文件,会发生什么呢?当您需要Mac的闪存驱动器数据恢复软件时,Disk Drill是您的最佳选择。Disk Drill将扫描您的USB闪存驱动器(也称为笔式驱动器)并查找

zjj778899的博客 1万+

UVa Problem 10196 Check the Check (将军)

// Check the Check (将军) // PC/UVa IDs: 110107/10196, Popularity: B, Success rate: average Level: 1 // Verdict: Accepted // Submission Date:

寂静山林 2894

【Word提效 No.010】使用AI一键复制格式刷应用格式

本文介绍利用AI工具WorkBuddy实现Word文档格式批量复制的自动化解决方案。通过简单指令即可将指定段落的格式一键应用到多个目标段落,解决传统格式刷操作繁琐、易出错的问题。方案包含三步操作:准备文档、输入指令模板、验收效果,并提供多种场景的现成指令示例。该工具支持字体、段落等格式属性的批量复制,且不会覆盖原文件,适用于论文、手册等文档的格式统一需求。

u011186532的专栏 77

STC单片机使用FatFs文件系统读取SD卡指定文件内容

STC单片机使用FatFs文件系统读取SD卡指定文件内容

perseverance51博客 2744

UVa 10196 Check the Check

#include #include #include char ChessBoard[8][8]; char *WhiteCheck = "white king is in check."; char *BlackCheck = "black king is in check."; char *NoCheck="no king is in check."; int boundary(int

Ming.L 668

手把手教你学基于 Linux 的 NPU 固件开发-第 10 讲:可靠性设计(RAS)——让系统坚如磐石错误检测、纠正与上报机制(ECC、Parity)

组件推荐保护机制备注HBM/DDRScrubbing必须开启,定期巡检片上 SRAMECC(权重/激活值),Parity(指令)权衡面积与可靠性计算单元ABFT或DMR(关键路径)防止计算逻辑错误片上网络CRC重传保证数据传输完整性系统软件AER 上报CE 监控自动恢复闭环管理,杜绝 SDC运维策略预测性维护Checkpoint变被动为主动核心心法(信任硬件,但必须验证。在纳米尺度下,错误是必然发生的物理现象。

MHD0815的博客 91

uva-10196 - Check The Check

The analysis:          This problem is  so easy, but it is so difficult to AC that you should be more cautious.I have got many WAs.Because I made many mistakes.Although this problem waste much tim

zhang20072844的专栏 1137

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

UVa-10196-Check the Check

/* coder: ACboy date: 2010-2-20 result: AC description: 这题的关键是实现CheckTheNext函数。*/#include #include #include using namespace std;// 用来标记某个位置是否有棋子(1有0没有)int flagData[9][9];//

个人独立博客http://www.acb0y.cn/ 987

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

UVa 10196 - Check The Check (模拟)

题目链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1137   题目大意: 给你一副国际象棋的格局,让你判断哪方被将军了。   解题思路: 模拟题,考虑每方每一颗棋子的对另一方的攻击范围,如果对方王在某一颗棋子的攻击范围内,则对方被将

cc_again的专栏 1221

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

UVA10196 Check The Check 简单模拟

这道题目代码量有点大。 注意行和列的定义,这里我搞反了,WA了一晚。 代码虽然有很多的重复,但直接复制粘贴的时候注意下小的细节。 注意题目输入数据的时候两组数据之间有一空行。 这道题目不用判断王的走法,因为一个王可以吃到另一个,那么另一个也能吃到他,与题意不符合。 #include #include #include #include #include using namespace

662

UVA 10196 - Check The Check (将军)

UVA 10196 - Check The Check (将军) 题目描述 * 模拟棋盘。黑棋在棋盘的上半部分,用小写字母表示;白棋在下半部分,用大写字母表示。 * 一共有六种棋子。 * p ——> 只能走斜前方。即白棋只能走↖(左上),↗(右上);黑棋只能走↙(左下),↘(右下) * r ——> 可以走垂直方向和水平方向上走,可以走任意格。 * b ——> 可以走对角线方向上走,可以走任意格。 * q ——> 可以走垂直方向、水平方向、对角线方向,可以走任意格。 * k ——> 可以走垂直方向、水平方向

Cyibing的专栏 1280

UVA 10196 Check The Check(模拟)

#include #include using namespace std; char Map[8][8]; // 表示国际象棋棋子的位置。 // 检查坐标为(king_x,king_y)的王是否在坐标为(x,y)的卒攻击范围内,注意进攻方向的不同。 bool check_Pp (int x, int y, int king_x, int king_y) { return (x - ki

LYHVOYAGE的专栏 726

【OJ】1.6.7将军(Check the Check)UVa 10196 // PC 1101017 // acmclub.com 25177

/*  1.6.7将军(Check the Check)UVa 10196 // PC 1101017 */ #include #include using namespace std; char a[10][10]; int x,y,X,Y;  int white=0,black=0; /////////////////////////////////blackk void

Wu_Being 的优快云 博客 932

将军(check the check)

原帖地址:http://blog.youkuaiyun.com/metaphysis/article/details/6432094 开始做《挑战编程》上的题目 主要是感觉自己编程能力和算法非常差 一看到这题,感觉不好动手,但之后看了别人的代码后,才恍然大悟 其实就是注意函数的使用 把判断每个棋子能否将军写成一个函数 再组织好就可以了 还有就是,原作者的编程风格值得自己学习,清晰明确 // C

Begin! 709

1.6.7 将军 Check the Check

PC/UVA 110107/10196 本题略恶心。模拟 //author: CHC //First Edit Time: 2014-01-13 17:11 //Last Edit Time: 2014-01-14 13:57 //Filename:1.cpp #include #include #include #include #include using namespace s

inf_force 1313

HDU 3699 A hard Aoshu Problem

A hard Aoshu Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 62768/32768 K (Java/Others) Total Submission(s): 345    Accepted Submission(s): 173 Problem Description Math Ol

GooMaple 1841
上一篇: UVa 10033 - Interpreter
下一篇: UVa 10038 - Jolly Jumpers
GooMaple
博客等级 码龄14年 79粉丝 197原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值