【算法与数据结构】二维数组中寻找鞍点

谭浩强C++课后习题20——找二维数组的鞍点 谭浩强C++课后习题20——找二维数组的鞍点 题目描述:找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小(也有可能没有鞍点)。(一个二维数组最多只有一个鞍点,也有可能没有) 算法思路: 先找出一行中值最大的元素,然后检查它是否是该列中的最小值,如果是,则是鞍点,跳出循环,如果不是,则向下一行继续寻找。每次先假设每一行的最大值就是鞍点,如果找到该列有比这个数小的,则不是鞍点,fi... 阅读详情

⭐️ 本文首发自 前端修罗场(点击加入),是一个由 资深开发者 独立运行 的专业技术社区,我专注 Web 技术、Web3、区块链、答疑解惑、面试辅导以及职业发展。博主创作的 《Web3 实战教程》(点击订阅),已经帮助许多开发者成功铸造 NFT,内容浅显易懂,能够快速对 Web3 相关概念有一个总体认识!

二维数组寻找鞍点算法思想:

1、对二维数组遍历,拿每一行的第一个元素作为比较的元素;
2、如果该元素大于这一行的所有元素,遍历这一元素所在列中的元素并比较;
3、如果该元素小于所有元素,那么就找到了一个鞍点。

C语言实现如下:

#include <stdio.h>

#define m 3
#define n 3
int a[3][3]={{1,1,8},{3,1,7},{1,4,6}};
int i,j;
int temp1=0,temp2=0;
int row,col;
int k;
int flag;

void find(int a[m][n]){
    for(i=0;i<m;i++){
        for(j=0;j<n;j++){
            if(a[i][0]<a[i][j]){//寻找行中最大值
                temp1=a[i][j];//将最大值赋给中间变量temp1
                row=i;//记录下行号
                col=j;//记录下列号
            }
        }
        for(k=0;k<m;k++){
            if(a[k][col]<temp1){
                break;
            }else {
                if(k==m-1){//结束判断
                    printf("当前鞍点是:%d\n", a[row][col]);
                    flag++;
                }
            }
        }
    }
    if(flag==0){
        printf("当前%d行没有鞍点\n",i+1 );
    }else {
        printf("有%d个鞍点\n", flag);
    }
}
int main(){
    int count=0;
   for(int i=0;i<m;i++){
    for(int j=0;j<n;j++){
        printf("%d\t", a[i][j]);
        count++;
        if(count%3==0){
            printf("\n");
        }
        
    }
   }
   find(a);
}

运行结果:

1	1	8	
3	1	7	
1	4	6	
当前鞍点是:6
有1个鞍点
找出一个二维数组中的鞍点(C) 鞍点:在一个二维数组中,有一个数据,同行它最大,同列它最小 阅读详情

相关推荐

二维数组练习05_计算鞍点

/* Name: 05_计算鞍点 Author: 巧若拙 Description: 描述 给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。 鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。 例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。 11 3 5 6 9 12 4 7 8 10 10 5 6 9 11 8 6 4

QiaoRuoZhuo的专栏 7578

找出二维数组的鞍点

找出二维数组的鞍点

CS_Qiao的博客 7482

矩阵鞍点算法

今天翻看以前的数据结构,练练基本功。这是局长呢鞍点算法。下面先来说说什么是矩阵的鞍点。在一个矩阵中,每一行的最大元素如果是该元素所在列中的最小元素,那么称该元素为矩阵的鞍点,当然,矩阵中不一定存在鞍点。       算法设计:        对二维数组遍历,拿每一行的第一个元素作为比较的元素,如果该元素大于这一行的所有元素,遍历这一元素所在列中的元素并比较,如果该元素小于所有元素,那么就找到了

基督山伯爵的博客 4313

C语言经典100题——求一个二维数组的鞍点

<1>题目描述 找一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点 1 2 3 4 5 6 7 8 9 //3为该二维数组中鞍点 <2>思路分析 先找到第一行中最大的那个数a 将a与所在的列上其他数字进行比较,如果是最小,则输出a 如果a不是所在列最小的数,则找第二行最小的那个数b,重复第二步,直到找到鞍点 如果每一行中最大数都不是鞍点,则数组无鞍点 <3>代码实现 #include

yahid的博客 1万+

数据结构(一)求矩阵中的鞍点

1.实验目的:掌握二维数组的计算,以及常用字符函数的使用。 2.实验问题:设计一个查找鞍点的算法。一个二维数组中的鞍点,是指该位置上的元素,在所在行中最大,而在所在列中最小;一个二维数组也可能没有鞍点。 3.解题思路:可用二维数组保存元素,按照鞍点的定义,只要找出一些点,在该点位置上的元素,在该行最大,在该列上最小即可。可以先找出第i行上最大的元素,记下所在的列号c,最大元素的值rmax;然后在第c列上,把rmax和该列上的其他元素比较,判断该列上rmax是否是最小的元素,只要有一个元素是小于它,则说明rm

程序员 5080

寻找二维数组的鞍点

对于每一行,我们找到该行的最大值,并记录下该最大值对应的列号。然后我们再用一个循环遍历每一列,找到该列的最小值,并记录下该最小值对应的行号。如果找到的最大值和最小值相等,那么说明我们找到了鞍点,将其位置和值输出即可。鞍点是指一个矩阵中的某个元素,在它所在的行中是最大值,在所在列中是最小值。也就是说,它是该行的极大值,同时又是该列的极小值。我们首先需要输入一个二维数组,然后遍历该数组,找到其中的鞍点,并输出它们的位置和值。我们可以看到,该程序成功找到了一个鞍点,它是在第一行的最后一列。函数进行搜索和输出。

CodeSpark的博客 564

程序设计(数组)

一些数组的程序

HIdeOnBush_csy的博客 871

编程挑战:二维数组鞍点寻找实践

在编程语言中,二维数组可以被看作是一个表格,其中的数据以行(row)和列(column)的形式组织。每个数组元素通过一对索引来定位,比如表示第i行第j列的元素。在矩阵理论中,鞍点是指矩阵中的一个元素,这个元素在其所在行中是最大值,同时在其所在列中是最小值。鞍点的寻找在许多算法问题中都有重要的应用,例如在图论中的最大流问题、博弈论中的最优策略计算以及线性规划问题中的单纯形法等。确定一个矩阵是否存在鞍点,不仅有助于对矩阵特性的理解,还可以帮助我们优化某些特定问题的解决方案。

weixin_42348783的博客 620

GDPU C语言 天码行空7 数组

数组

人言束负兑生|完美是完蛋的开始 1792

SAP软件外币评估系统配置与操作

文章摘要:本文详细介绍了SAP系统中外币评估的流程、策略及系统操作。外币评估是期末关账的重要环节,主要针对外币未清项目及资产/负债进行汇率重估,生成评估差异过账以反映真实财务状况。文中阐述了三种评估策略(不评估、增量评估、期末评估冲回)及适用场景,并提供了SAP系统外币评估的具体操作步骤(FAGL_FCV/FAGL_FC_VAL事务码)。同时,讲解了货币资金科目和未清项管理科目的评估差异处理方式,以及相关的系统配置(OB59、OBA1等)。文章还区分了已实现和未实现汇兑损益的会计处理,为企业外币业务管理提供

weixin_40672823的博客 1957

【斯坦福计网CS144项目】环境配置 & Lab0: ByteStream

前言 感觉学了不少 C++ 编程的知识和技术但比较缺少实践,于是打算找一些项目跟着做一做。 首先安利一个自学网站 CS自学指南,北大的同学做的,汇总了很多国内外高校 CS 相关的高质量公开课,其中大部分是有课程项目的。翻了翻感觉 Stanford 的这门 CS144 计网课的 Lab 比较有趣,难度也不错,就是它了! 课程网址:CS 144: Introduction to Computer Networking 我跟的是 2021 Fall 学期的版本。 准备工作 在上面的网站中先把 8 个实验的文档(

アルタイル 8163

c语言(练习题汇总 数组篇 谭浩强)

谭浩强课后习题 考研复试自用

qq_51866108的博客 368

传感器模块的电路艺术:从引脚定义到系统集成的设计哲学

本文深入探讨传感器模块的电路设计艺术,从引脚定义到系统集成的完整设计哲学。重点解析电源管理、信号处理及I2C通信协议等核心电路原理,分享多模块协同中的电源架构、信号完整性和接地策略,为硬件工程师提供实用的系统级设计思维与实战案例。

o1p2q3r的博客 222

找出一个二维数组中的鞍点

找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。 解题流程如下: 对每行进行遍历。先找到每行的最大值,然后再确定该最大值是否是所在列的最小值,若满足,则为鞍点,遍历停止;否则,继续,若遍历完所有行之后依旧未找到,则表示该二维矩阵无鞍点。 #include&lt;stdio.h&gt; int main() { int a[4][5]; int i,j,k...

一只睡不醒的猪 3万+

【五分钟论文笔记】Vision Banana:图像生成器成为通用视觉学习器

图像生成训练可以像 LLM 预训练一样,让模型学习强大且通用的视觉表示感知即生成——将视觉任务输出参数化为 RGB 图像,是一种优雅且强大的统一框架视觉理解能力可以在不牺牲生成能力的情况下获得——两者可以共存于同一个模型。

专注:太空算力、AI infra、异构调度、大模型成本工程 230

基于锁相环的高精度频率分频器simulink建模与仿真

在现代电子系统中,高精度频率分频器扮演着至关重要的角色。它能够提供精确的频率参考,广泛应用于通信、仪器仪表、航空航天等领域。基于锁相环的高精度频率分频器具有结构简单、性能稳定等优点,成为了研究的热点。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 776

求二维数组中的鞍点(c语言)

找出二维数组中的鞍点,即该位置上的元素在该行上最大,在该列中最小,也可能没有鞍点。 解析: 找出在一行中的最大值,确定最大值所在的列,再求出在该列中的最小值所在的行数,比较行是否相等,判断是否为鞍点。 代码: #include <stdio.h> #include <stdlib.h> int main() { int n,m,i,j; printf("请...

weixin_46087910的博客 6126

SwinTransformer改进(5):与CBAM结合的视觉模型

这个模型的核心思想是将Swin Transformer的强大特征提取能力与CBAM的注意力机制相结合,以提升模型对重要特征的关注度。​​CBAM模块​​:包含通道注意力和空间注意力两个子模块​​Swin Transformer主干网络​​:作为基础特征提取器​​集成结构​​:在Swin Transformer的不同阶段插入CBAM模块使用移动窗口(Moving Window)机制减少计算量层次化设计,特征图逐渐缩小,通道数逐渐增加在不同阶段使用Patch Merging进行下采样。

2401_82355416的博客 686

二维数组之鞍点

试题描述 找出一个m行n列的二维数组A中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。为了简化问题,鞍点是唯一的。请使用数组实现。 输入 输入包含若干行: 第一行是两个整数m和n(3 <= m,n <= 10),用一个空格隔开。m代表二维数组的行数,n代表列数。 第二行到第m + 1行,即按照行序输入数组元素。每行有n个整数,相邻两项之间用一个空格隔开。 输出 输...

Lhw_666的博客 3633

6.14华为OD机试真题 新系统 - 字符串格式调整 (Java/Py/C/C++/Js/Go)

# **字符串格式调整** > 2026 华为OD机试真题 6月14日华为OD上机新系统考试真题 100 分题型 点击查看华为 OD 机试真题完整目录:[2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解](https://blog.youkuaiyun.com/banxia_frontend/article/details/160346662) # 题目描述 输入一个字符串,字符串中只包含大写字母和数字。要求将字符串中的所有数字提取出来,按出现的顺序组

算法大师! 944

015、架构_配置文件_管理节点(proxymanager.ini)

该配置文件中的参数在后台配置,两种生效方式:*所有参数重启生效。*部分参数可以使用工具dbtool动态生效。动态生效命令为:dbtool-pm-load-config。配置文件“proxymanager.ini”用于设置元数据管理模块的信息。文件路径为“~/etc”。配置文件“proxymanager.ini”是普通的文本文件。默认值proxymanager-alarmconfutf8.txt。配置错误或不配置,PM无法连接MDS,无法服务。获取元数据失败超时处理时间。异常时请求启动对等回滚。

Oracle/MySQL 到 国产信创数据库|迁移 · 调优 · 信创替换 327

寻找矩阵的鞍点:二维数组中的鞍点,即该位置上的元素是所在行上的最大值,是所在列上的最小值。输入一个二维数组的行数n,列数m,二维数组的诸元素值;输出数组的鞍点,以及鞍点所在的行列号。

题目内容: 二维数组中的鞍点,即该位置上的元素是所在行上的最大值,是所在列上的最小值。 二维数组也可能没有鞍点。 输入一个二维数组的行数n,列数m,二维数组的诸元素值;输出数组的鞍点,以及鞍点所在的行列号。 输入格式: 第一行为矩阵的行数和列数,从第二行开始,为矩阵本身(假设输入的矩阵只有0和1个鞍点) 输出格式: 数组的鞍点,以及鞍点所在的行列号 (下标从0开始) 输入样例1: 3 4 1 3 5 3 2 3 4 1 3 2 6 7[回车] 输出样例1: Point:a[1][2]==4[回车] 输入样例

呢喃 4697

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

寻找二维数组鞍点

鞍点:即该行最大,该列最小 #include&lt;iostream&gt; #define N 100 using namespace std; int main(){ int m,n; m=n=5; int i,j,k,flag; int max,maxj; int a[N][N]; cin&gt;&gt;m&gt;&gt;n; for (i=0;i&lt;m;i++) ...

KASH_SHADOW的博客 2125

深度学习工具包 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")

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C语言实现找出二维数组中的鞍点(附带源码)

C语言实现找出二维数组中的鞍点(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 898
上一篇: 【算法与数据结构】奇数阶魔方阵
下一篇: 【数据结构与算法】输入年、月、日,输出该日是该年第几天
蟹蟹蟹风流
蟹蟹蟹风流 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域 领域专家: 前端开发技术领域 领域专家: 前端开发技术领域
博客等级 码龄11年 3万+粉丝 396原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蟹蟹蟹风流

期望和你分享一杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值