NEUQ-acm第四次双周赛补题

L1-1 重要的话说三遍

题目描述

你只需要把这句很重要的话 —— “I’m gonna WIN!”——连续输出三遍就可以了。

注意每遍占一行,除了每行的回车不能有任何多余字符。

代码

#include <bits/stdc++.h>
using namespace std;
int main(){
    for(int i = 1; i <= 3; i++){

        cout << "I'm gonna WIN!";
        if(i<3)  cout << endl;
    }
}

L1-2 日期格式化

题目描述

世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。

输入格式

输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。

输出格式

在一行中按照“yyyy-mm-dd”的格式给出年、月、日。

输入样例

03-15-2017

输出样例

2017-03-15

思路

scanf与printf搭配使用即可

代码

#include <bits/stdc++.h>
using namespace std;
int y,m,d;
int main(){
    scanf("%02d-%02d-%4d",&m, &d, &y);
    printf("%4d-%02d-%02d",y,m,d);
}

L1-3 大笨钟

题目描述

微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。

下面就请你写个程序,根据当前时间替大笨钟敲钟。

输入格式

输入第一行按照hh:mm的格式给出当前时间。其中hh是小时,在00到23之间;mm是分钟,在00到59之间。

输出格式

根据当前时间替大笨钟敲钟,即在一行中输出相应数量个Dang。如果不是敲钟期,则输出:

Only hh:mm. Too early to Dang.
其中hh:mm是输入的时间。

输入样例1

19:05

输出样例1

DangDangDangDangDangDangDangDang

输入样例2

07:05

输出样例2

Only 07:05.  Too early to Dang.

思路

if-else 判断时间区间输出dang的个数

代码

#include <bits/stdc++.h>
using namespace std;
int h,m;
int main(){
    scanf("%02d:%02d", &h, &m);
    string s = "dang";
    //cout << h << " " << m;
    if(h>12 && h < 24){
        for(int i = 1; i <= h-12; i++){
            cout << "Dang" ;
        }
        if(m>0)  cout << "Dang";
    }
    if(h>=0 && h<=12){
        if(h==12){
            if(m>0) cout << "Dang";
            else printf("Only %02d:%02d.  Too early to Dang.",h,m);
        }
        else{
            printf("Only %02d:%02d.  Too early to Dang.",h,m);
        }
    }
}

L1-4拯救外星人

题目描述

在这里插入图片描述

你的外星人朋友不认得地球上的加减乘除符号,但是会算阶乘 —— 正整数 N 的阶乘记为 “N!”,是从 1 到 N 的连乘积。所以当他不知道“5+7”等于多少时,如果你告诉他等于“12!”,他就写出了“479001600”这个答案。

本题就请你写程序模仿外星人的行为。

输入格式

输入在一行中给出两个正整数 A 和 B。

输出格式

在一行中输出 (A+B) 的阶乘。题目保证 (A+B) 的值小于 12。

输入样例

3 6

输出样例

362880

思路

加起来,for循环算阶乘

代码

#include <bits/stdc++.h>
using namespace std;
int a,b;
long long ans=1;
int main(){
    cin >> a >> b;
    int h = a+b;
    for(int i = 1; i<=h; i++){
        ans*=i;
    }
    cout << ans;
}

L1-5个位数统计

题目描述

给定一个 k 位整数 N = d k − 1 ​ 1 0 k − 1 + ⋯ + d 1 ​ 1 0 1 + d 0 ​ ( 0 ≤ d i ≤ 9 , i = 0 , ⋯ , k − 1 , d k − 1 > 0 ) N=d_{k−1}​10^{k−1}+⋯+d_1​10^ 1+d_0​ (0≤d_i≤9, i=0,⋯,k−1, d_{k−1}>0) N=dk1​10k1++d1​101+d0(0di9,i=0,,k1,dk1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。

输入格式

每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。

输出格式

对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。

输入样例

100311

输出样例

0:2
1:3
3:1

思路

利用一个数组存这个k位的数字,循环统计0~9的个数,再输出即可

代码

#include <bits/stdc++.h>
using namespace std;
int a[1005];
int b[10];
void zhuan(string s){
    int l = s.length();
    a[0]=l;
    for(int i = 1; i <= l; i++){
        a[i]=s[i-1]-'0';
    }
}
int main(){
    string s;
    cin >> s;
    zhuan(s);
    for(int i = 1; i <= a[0]; i++){
        //cout << a[i] ;
        b[a[i]]++;
    }
    for(int i = 0; i <= 9; i++){
        if(b[i]!=0){
            cout << i << ":" << b[i] << endl;
        }
    }
}

L1-6正整数A+B

题目描述

题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。

输入格式

输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。

注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。

输出格式

如果输入的确是两个正整数,则按格式A + B = 和输出。如果某个输入不合要求,则在相应位置输出?,显然此时和也是?。

输入样例1

123 456

输出样例1

123 + 456 = 579

输入样例2

22. 18

输出样例2

? + 18 = ?

输入样例3

-100 blabla bla...33

输出样例3

? + ? = ?

思路

判断是不是范围内的数字:
最多四位数
不能以0开头
不能含有字母
必须在范围内[1,1000]
主要难点:输入设置,对于a,直接cin,对于b,scanf,这样b的首字符含一个空格,注意一下即可

代码

#include <bits/stdc++.h>
using namespace std;
string a,b;
int isdig(string s, int i, int j){
    if(j-i+1>4)  return -1;
    int ss =0;
    if(s[i]=='0')  return -1;
    for(int k = i; k <= j; k++){
        if(s[k]>'9' || s[k]<'0')  return -1;
        ss += (s[k]-'0')*pow(10, j-k);
    }
    if(ss>1000)  return -1;
    return ss;
}
int main(){
    cin >> a;
    getline(cin, b);
    //cout << a << " " << b;
    int aa=-1,bb=-1;
    if(isdig(a,0,a.length()-1)!=-1){
        aa = isdig(a,0,a.length()-1);
        cout << aa << " + " ;
    }
    else  cout << "? + " ;
    if(isdig(b,1,b.length()-1)!=-1){
        bb = isdig(b,1,b.length()-1);
        cout << bb << " = " ;
        if(aa==-1)  cout << "?";
        else  cout << aa+bb;
    }
    else  cout << "? = ?" ;
}

L1-7打印沙漏

题目描述

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印

*****
 ***
  *
 ***
*****

所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。

给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。

输入格式

输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。

输出格式

首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。

输入样例

19 *

输出样例

*****
 ***
  *
 ***
*****
2

思路

给定一个数,它最大能构成的层数为 h = ⌊ ( n + 1 ) / 2 ⌋ h=\left \lfloor \sqrt{(n+1)/2} \right \rfloor h=(n+1)/2 ,则剩余数为 n − 2 ∗ h ∗ h + 1 n-2*h*h+1 n2hh+1,分为上下两部分按行输出

代码

#include <bits/stdc++.h>
using namespace std;
int n;
char x;
int main(){
    cin >> n;
    cin >> x;
    int h=sqrt((n+1)/2);
    int s = n-2*h*h+1;
    //cout << h << " "  << s;
    for(int i = h; i >= 1; i--){
        for(int j = 1; j <= 2*i-1; j++){
            if(i<h && j==1) {
                int a = h-i;
                for(int k = 1; k <= a; k++)  cout << " ";
            }
            printf("%c",x);

        }  
        cout << endl;
    }
    for(int i = 2; i<= h; i++){
        for(int j = 1; j <= 2*i-1; j++){
            if(i<h && j==1) {
                int a = h-i;
                for(int k = 1; k <= a; k++)  cout << " ";
            }
            printf("%c",x);

        }
        cout << endl;
    }
    cout << s;
}

L1-8机工士姆斯塔迪奥

题目描述

在 MMORPG《最终幻想14》的副本“乐欲之所瓯博讷修道院”里,BOSS 机工士姆斯塔迪奥将会接受玩家的挑战。

你需要处理这个副本其中的一个机制:N×M 大小的地图被拆分为了 N×M 个 1×1 的格子,BOSS 会选择若干行或/及若干列释放技能,玩家不能站在释放技能的方格上,否则就会被击中而失败。

给定 BOSS 所有释放技能的行或列信息,请你计算出最后有多少个格子是安全的。

输入格式

输入第一行是三个整数 N,M,Q ( 1 ≤ N × M ≤ 1 0 5 , 0 ≤ Q ≤ 1000 ) (1≤N×M≤10^5,0≤Q≤1000) (1N×M1050Q1000),表示地图为 N 行 M 列大小以及选择的行/列数量。

接下来 Q 行,每行两个数 T i ​ , C i ​ T_i​, C_i​ Ti,Ci,其中 T i ​ = 0 T_i​=0 Ti=0 表示 BOSS 选择的是一整行, T i ​ = 1 T_i​=1 Ti=1 表示选择的是一整列, C i C_i Ci​为选择的行号/列号。行和列的编号均从 1 开始。

输出格式

输出一个数,表示安全格子的数量。

输入样例

5 5 3
0 2
0 4
1 3

输出样例

12

思路

可以释放技能的格子标记为1,数未标记的格子的个数即可

代码

#include <bits/stdc++.h>
using namespace std;
const int Max = 1e5+5;
int n,m,q;
bool a[Max];
int main(){
    cin >> n >> m >> q;
    int t,c;
    for(int i = 1; i <= q; i++){
        cin >> t >> c;
        if(t==0){
            for(int j = (c-1)*m; j <= (c-1)*m+m-1; j++) a[j]=1;
        }
        else{
            for(int j = 1; j <= n; j++) a[c+(j-1)*m-1]=1;
        }
    }
    int ans=0;
    for(int i = 0; i < n*m; i++){
        ans+=a[i];
        //cout << a[i];
        //if((i+1)%m==0)  cout << endl;
    }
    cout << n*m-ans;
}

L2-1排座位

题目描述

布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。

输入格式

输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:宾客1 宾客2 关系,其中关系为1表示是朋友,-1表示是死对头。注意两个人不可能既是朋友又是敌人。最后K行,每行给出一对需要查询的宾客编号。

这里假设朋友的朋友也是朋友。但敌人的敌人并不一定就是朋友,朋友的敌人也不一定是敌人。只有单纯直接的敌对关系才是绝对不能同席的。

输出格式

对每个查询输出一行结果:如果两位宾客之间是朋友,且没有敌对关系,则输出No problem;如果他们之间并不是朋友,但也不敌对,则输出OK;如果他们之间有敌对,然而也有共同的朋友,则输出OK but…;如果他们之间只有敌对关系,则输出No way。

输入样例

7 8 4
5 6 1
2 7 -1
1 3 1
3 4 1
6 7 -1
1 2 1
1 4 1
2 3 -1
3 4
5 7
2 3
7 2

输出样例

No problem
OK
OK but...
No way

思路

主要判断两个人到底有无朋友关系,利用并查集判断

代码

#include <bits/stdc++.h>
using namespace std;
int n,m,k;
int a[105][105];
int f[105];
int find(int x){
    return x == f[x]? x: f[x]=find(f[x]);
}
void merge(int i, int j){
    f[find(i)]=find(j);
}
int main(){
    cin >> n >> m >> k;
    for(int i = 1;i <= n; i++) f[i] = i;
    for(int i = 1; i <= m; i++){
        int x,y,ff;
        cin >> x >> y >> ff;
        a[x][y]=ff;
        a[y][x]=ff;
        if(ff==1) merge(x,y);
    }
    for(int i = 1; i <= k; i++){
        int x,y;
        cin >> x >> y;
        if(a[x][y]==1 || (a[x][y]==0 && find(x)==find(y)))  cout << "No problem" << endl;
        else if(a[x][y]==0)  cout << "OK" << endl;
        else if(a[x][y]==-1 && find(x)==find(y))  cout << "OK but..." << endl;
        else  cout << "No way" << endl;
    }
}

L2-2名人堂与代金券

题目描述

对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,总评成绩必须达到 60 分及以上,并且有另加福利:总评分在 [G, 100] 区间内者,可以得到 50 元 PAT 代金券;在 [60, G) 区间内者,可以得到 20 元PAT代金券。全国考点通用,一年有效。同时任课老师还会把总评成绩前 K 名的学生列入课程“名人堂”。本题就请你编写程序,帮助老师列出名人堂的学生,并统计一共发出了面值多少元的 PAT 代金券。

输入格式

输入在第一行给出 3 个整数,分别是 N(不超过 10 000 的正整数,为学生总数)、G(在 (60,100) 区间内的整数,为题面中描述的代金券等级分界线)、K(不超过 100 且不超过 N 的正整数,为进入名人堂的最低名次)。接下来 N 行,每行给出一位学生的账号(长度不超过15位、不带空格的字符串)和总评成绩(区间 [0, 100] 内的整数),其间以空格分隔。题目保证没有重复的账号。

输出格式

首先在一行中输出发出的 PAT 代金券的总面值。然后按总评成绩非升序输出进入名人堂的学生的名次、账号和成绩,其间以 1 个空格分隔。需要注意的是:成绩相同的学生享有并列的排名,排名并列时,按账号的字母序升序输出。

输入样例

10 80 5
cy@zju.edu.cn 78
cy@pat-edu.com 87
1001@qq.com 65
uh-oh@163.com 96
test@126.com 39
anyone@qq.com 87
zoe@mit.edu 80
jack@ucla.edu 88
bob@cmu.edu 80
ken@163.com 70

输出样例

360
1 uh-oh@163.com 96
2 jack@ucla.edu 88
3 anyone@qq.com 87
3 cy@pat-edu.com 87
5 bob@cmu.edu 80
5 zoe@mit.edu 80

思路

模拟+sort,注意并列时的排序问题

代码

#include <bits/stdc++.h>
using namespace std;
const int Max = 1e4+5;
int n,g,k;
struct stu{
    string id;
    int score;
    bool operator <(stu a) const{
        return score < a.score || (score==a.score && id < a.id);
    }
}s[Max];
int main(){
    cin >> n >> g >> k;
    for(int i = 1; i <= n; i++){
        cin >> s[i].id >> s[i].score;
    }
    sort(s+1,s+n+1);
    int ans=0;
    for(int i = 1; i <= n; i++){
        if(s[i].score>=g) ans+=50;
        else if(s[i].score>=60) ans+=20;
    }
    cout << ans << endl;
    int now = 1, d=n;
    for(int i = 1; i <= k; ){
        //cout <<  s[d].id << " " << s[d].score << endl;
        if(s[d].score!=s[d-1].score){
           cout << now << " " << s[d].id << " " << s[d].score << endl;
           d--;
           now++;
           i++;
        }  
        else{
            int x=0;
            int z=d;
            while(s[d].score==s[z-1].score) x++,z--;
            //cout << d << endl;
            for(int k = x; k >= 0; k--)
                cout << now << " " << s[d-k].id << " " << s[d-k].score << endl;
            now+=x+1;
            //cout << now << endl;
            d-=x+1;
            i+=x+1;
        }
    }
}

L2-3包装机

题目描述

一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道,放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时,机械手将抓取筐顶部的一件物品,放到流水线上。图 2 显示了顺序按下按钮 3、2、3、0、1、2、0 后包装机的状态。
在这里插入图片描述
图1 自动包装机的结构
在这里插入图片描述
图 2 顺序按下按钮 3、2、3、0、1、2、0 后包装机的状态

一种特殊情况是,因为筐的容量是有限的,当筐已经满了,但仍然有某条轨道的按钮被按下时,系统应强制启动 0 号键,先从筐里抓出一件物品,再将对应轨道的物品推落。此外,如果轨道已经空了,再按对应的按钮不会发生任何事;同样的,如果筐是空的,按 0 号按钮也不会发生任何事。

现给定一系列按钮操作,请你依次列出流水线上的物品。

输入格式

输入第一行给出 3 个正整数 N(≤100)、M(≤1000)和 S m a x S_{max} Smax(≤100),分别为轨道的条数(于是轨道从 1 到 N 编号)、每条轨道初始放置的物品数量、以及筐的最大容量。随后 N 行,每行给出 M 个英文大写字母,表示每条轨道的初始物品摆放。

最后一行给出一系列数字,顺序对应被按下的按钮编号,直到 −1 标志输入结束,这个数字不要处理。数字间以空格分隔。题目保证至少会取出一件物品放在流水线上。

输出格式

在一行中顺序输出流水线上的物品,不得有任何空格。

输入样例

3 4 4
GPLT
PATA
OMSA
3 2 3 0 1 2 0 2 2 0 -1

输出样例

MATA

思路

模拟+queue、stack,注意判断是否空

代码

#include<bits/stdc++.h>
using namespace std;
int n,m,s;
stack<char>S;
queue<char>q[105];
int main()
{
	cin >> n >> m >> s;
	for(int i = 1; i <= n; i++){
		for(int j = 1; j <= m; j++){
            char x;
            cin >> x;
			q[i].push(x);
		}
	}
	while(1){
		int x; 
        cin >> x;
		if(x==-1)  break;
		else if(x==0){
			if(!S.empty()){
				cout << S.top();
				S.pop();
		    }	
		}
		else {
			if(S.empty() || S.size() < s){
				if(!q[x].empty()){
					S.push(q[x].front());
					q[x].pop();
				}
			}
			else if(S.size()>=s){
				if(!q[x].empty()){
					cout << S.top();
					S.pop();
					S.push(q[x].front());
					q[x].pop();
				}
			}
		}
	}
	return 0;
}

L2-4愿天下有情人都是失散多年的兄妹

题目描述

呵呵。大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人、父母、祖父母、曾祖父母、高祖父母)则不可通婚。本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚?

输入格式

输入第一行给出一个正整数N ( 2 ≤ N ≤ 1 0 4 ) (2 ≤ N ≤10^4) 2N104,随后N行,每行按以下格式给出一个人的信息:

本人ID 性别 父亲ID 母亲ID
其中ID是5位数字,每人不同;性别M代表男性、F代表女性。如果某人的父亲或母亲已经不可考,则相应的ID位置上标记为-1。

接下来给出一个正整数K,随后K行,每行给出一对有情人的ID,其间以空格分隔。

注意:题目保证两个人是同辈,每人只有一个性别,并且血缘关系网中没有乱伦或隔辈成婚的情况。

输出格式

对每一对有情人,判断他们的关系是否可以通婚:如果两人是同性,输出Never Mind;如果是异性并且关系出了五服,输出Yes;如果异性关系未出五服,输出No。

输入样例

24
00001 M 01111 -1
00002 F 02222 03333
00003 M 02222 03333
00004 F 04444 03333
00005 M 04444 05555
00006 F 04444 05555
00007 F 06666 07777
00008 M 06666 07777
00009 M 00001 00002
00010 M 00003 00006
00011 F 00005 00007
00012 F 00008 08888
00013 F 00009 00011
00014 M 00010 09999
00015 M 00010 09999
00016 M 10000 00012
00017 F -1 00012
00018 F 11000 00013
00019 F 11100 00018
00020 F 00015 11110
00021 M 11100 00020
00022 M 00016 -1
00023 M 10012 00017
00024 M 00022 10013
9
00021 00024
00019 00024
00011 00012
00022 00018
00001 00004
00013 00016
00017 00015
00019 00021
00010 00011

输出样例

Never Mind
Yes
Never Mind
No
Yes
No
Yes
No
No

思路

深搜祖上5代,判断是否有相同的亲人出现,是则近亲;注意父母的性别也要存

代码

#include<bits/stdc++.h>
using namespace std;
const int Max = 1e5+5;
int n,k;
vector<int> ID[Max];
int sex[Max];  //1男,女2
bool vis[Max];
int flag=1;
void dfs(int x, int step){
	if(step == 4)  return;
	for(int i = 0; i < ID[x].size(); i++){
		if(!vis[ID[x][i]]){
			vis[ID[x][i]] = true;
			dfs(ID[x][i], step+1);
		}
		else  flag = 1;  //近亲
    }
}
int main(){
	cin >> n;
	for(int i = 1; i <= n; i++){
		int id; 
        cin >> id;
		char sexx; 
        cin >> sexx;
        if(sexx=='M') sex[id]=1;
        else  sex[id]=2;
		int dad, mam;
		cin >> dad >> mam;
		if(dad != -1){
			ID[id].push_back(dad);
			sex[dad] = 1;
		}
		if(mam != -1){
			ID[id].push_back(mam);
			sex[mam] = 2;
		}
	}
	cin >> k;
    
	for(int i = 1; i <= k; i++){
		int a, b;
		cin >> a >> b;
		if(sex[a] == sex[b])  cout << "Never Mind" << endl;
		else{
			flag = 0;
			memset(vis,0,sizeof(vis));
			vis[a]=1;
            vis[b]=1;
			dfs(a,0); 
            dfs(b,0);
			if(flag)  cout << "No" << endl;
			else  cout << "Yes" << endl;
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

是夕颜呀

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值