PAT甲级刷题记录

1001 A+B Format (20 分)

#include<iostream>
#include<string>
#include<string.h>
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
	int a, b;
	cin >> a>> b;
	string s = to_string(a + b);
	int len = s.length();
	if (s[0] == '-')
	{
		cout << s[0];
		for (int i = 1; i < s.length(); i++)
		{
			if (i-1 && (len - i) % 3 == 0)cout << ",";
			 cout << s[i];

		}
	}
	else
	{
		for (int i = 0; i < s.size(); i++)
		{
			if (i && (len-i) % 3 == 0)cout << ",";
			 cout << s[i];

		}
	}
	cout << endl;
	return 0;
	
}

 

 

 

1002 A+B for Polynomials (25 分)

#include<iostream>
#include<stdio.h>
#include<iomanip>
using namespace std;


int main()
{
	float a[1005] = { 0 };
	int n;
	cin >> n;
	for (int i = 0; i < n; i++)
	{
		int k;
		cin >> k;
		cin >> a[k];
	}

	cin >> n;
	for (int i = 0; i < n; i++)
	{
		int k;
		float t;
		cin >> k;
		cin>>t;
		a[k] += t;
	}
	int sum = 0;
	for (int i = 0; i < 1005; i++)
	{
		if (a[i])sum++;
	}

	cout << sum;
	for (int i = 1004; i >=0; i--)
	{
		if (a[i])
			printf(" %d %.1f", i, a[i]);   //C
			//cout << " " << i << " "<<setiosflags(ios::fixed) << setprecision(1) << a[i]; //C++
	}
	cout << endl;

	return 0;
}

 

 

1004 Counting Leaves (30 分)

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<int> v[105];
int leafnode[105] = { 0 };
int max_depth = 0;
void dfs(int id,int depth)
{
	if (v[id].size() == 0)
	{
		leafnode[depth]++;
		max_depth = max(max_depth, depth);
		return;
	}
	for (int i = 0; i < v[id].size(); i++)
	{
		dfs(v[id][i], depth + 1);
	}

}
int main()
{
	//存入二维数组
	int n, m;
	cin >> n >> m;
	for (int i = 0; i < m; i++)
	{
		int id, k;
		cin >> id >> k;
		for (int j = 0; j < k; j++)
		{
			int t;
			cin >> t;
			v[id].push_back(t);
		}
	}
//dfs

	dfs(1, 0);

//输出
	cout << leafnode[0];
	for (int i = 1; i <= max_depth; i++)
	{
		cout << " " << leafnode[i];
	}
	return 0;
}

 

1005 Spell It Right (20 分)


#include<iostream>
#include<string.h>
#include<string>
using namespace std;
string num[10] = { "zero","one","two","three","four","five","six","seven","eight","nine" };
int main()
{
	//一开始用的long long 转string 测试样例4过不了,说明测试样例四超过long long 表示范围了
	string s;
	cin >> s;
	int sum = 0;
	for (int i = 0; i < s.size(); i++)
	{
		sum += s[i] - '0';
	}
	string s_sum = to_string(sum);
	for (int i = 0; i < s_sum.size(); i++)
	{
		if (i == 0)cout << num[s_sum[i] - '0'];
		else cout<<" "<< num[s_sum[i] - '0'];
	}
	cout << endl;
	return 0;
}

 

1006 Sign In and Sign Out (25 分)

#include<iostream>
#include<string>
#include<string.h>
#include<algorithm>
#include<limits.h>
#include<stdio.h>
using namespace std;
int main()
{
	int minn = INT_MAX;
	int maxn = INT_MIN;
	int t;
	cin >> t;
	string unlocked, locked;
	for (int i = 0; i < t; i++)
	{
		string temp;
        cin>>temp;
		int h, m, s, eh, em, sm;
		scanf("%d:%d:%d %d:%d:%d", &h, &m, &s, &eh, &em, &sm);
		//scanf_s("%d:%d:%d", &h, &m, &s); vs上要用scanf_s
		//scanf_s("%d:%d:%d",&eh, &em, &sm);

		if (h * 3600 + m * 60 + s < minn)
		{
			minn = h * 3600 + m * 60 + s;
			unlocked = temp;
		}

		if (eh * 3600 + em * 60 + sm > maxn)
		{
			maxn = eh * 3600 + em * 60 + sm;
			locked = temp;
		}
	}
	cout << unlocked << " " << locked << endl;
	return 0;
}

 

 

1007 Maximum Subsequence Sum (25 分)

#include<iostream>
using namespace std;
int main()
{
	int a[10005] = {0};
	int k;
	cin >> k;
	for (int i = 0; i < k; i++)
	{
		cin >> a[i];
	}
	int sum = -1, start = a[0], end = a[0];  //sum初始为1是为了方便过全负的样例
	int temp = 0,t_start= a[0],t_end= a[0];
	for (int i = 0; i < k; i++)
	{
		
		temp += a[i];
		if (temp < 0)
		{
			temp = 0;
			t_start = t_end = a[i+1];
			continue;
		}
		if (temp > sum)
		{
			t_end=a[i];
			start = t_start;
			end = t_end;
			sum = temp;
		}

	}
	if (sum < 0)
	{
		cout << 0 << " " << a[0] << " " << a[k-1] << endl;
	}
	else cout << sum << " " << start << " " << end << endl;
	return 0;

}

 

 

1008 Elevator (20 分)

#include<iostream>
using namespace std;
int main()
{
	int k;
	cin >> k;
	int sum = 0,now=0;
	for (int i = 0; i < k; i++)
	{
		int temp;
		cin >> temp;
		if (temp > now)sum += 6 * (temp - now);
		if (temp < now)sum += 4 * (now -temp) ;
		now = temp;
		sum += 5;  //即使原地不动也要+5(如在第0层再按第0层也要+5)
	}
	cout << sum << endl;
	return 0;
}

 

1009 Product of Polynomials (25 分)

#include<iostream>
using namespace std;
#define num 2005 //最大指数不超过它
double a[num] = { 0 };
double b[num] = { 0 };
double c[num] = { 0 };
int main()
{
	int k1;
	cin >> k1;
	for (int i = 0; i < k1; i++)
	{
		int index;
		cin >> index;
		cin >> a[index];
	}
	int k2;
	cin >> k2;
	for (int i = 0; i < k2; i++)
	{
		int index;
		cin >> index;
		cin >> b[index];
		for (int j = 0; j < num; j++)
		{
			if(a[j])c[index + j] += b[index] * a[j];
		}
	}
	int sum = 0;
	for (int i = 0; i < num; i++)
	{
		if (c[i])sum++;
	}

	cout << sum;
	for (int i = num-1; i >= 0; i--)
	{
		if (c[i])printf(" %d %.1f", i, c[i]);
	}

	return 0;

}

 

1010 Radix (25 分)

#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;

long long  convert(string n, long long  radix)
{
	long long  sum = 0;
	for (int i = n.size()-1,index=0; i >=0; i--)
	{
		int temp = isdigit(n[i]) ? n[i] - '0' : n[i] - 'a'+10;
		sum += temp * pow(radix, index++);
	}
	return sum;
}

long long  find_radix(string n, long long num)
{
	char it = *max_element(n.begin(), n.end());
	long long  low = (isdigit(it) ? it - '0' : it - 'a' + 10) + 1;
	long long  high = max(low, num);
	while (low <= high)
	{
		long long mid = (low + high) / 2;
		long long temp = convert(n, mid);
		if (temp<0 || temp>num)high = mid - 1;  //溢出时temp会小于0
		else if (temp == num)return mid;
		else low = mid + 1;

	}
	return -1;
}
int main()
{
	string n1, n2;
	long long  tag, radix,result;
	cin >> n1 >> n2 >> tag >> radix;
	result = (tag == 1 ? find_radix(n2, (convert(n1, radix))) : find_radix(n1, (convert(n2, radix))));
	if (result != -1)
	{
		cout << result << endl;
	}
	else cout << "Impossible" << endl;

	return 0;
}

 

1011 World Cup Betting (20 分)

#include<iostream>
using namespace std;
int main()
{
	float g[3][3] = { 0 };
	int max_g[3] = { 0 };
	char c[3] = { 'W','T','L' };
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			cin >> g[i][j];
			if (g[i][j] > g[i][max_g[i]])max_g[i] = j;
		}
	}
	float sum =1;
	for (int i = 0; i < 3; i++)
	{
		cout << c[max_g[i]]<<' ';
		sum *= g[i][max_g[i]];
	}
	printf("%.2f\n", (sum * 0.65 - 1) * 2);
	
	return 0;
}

 

 

1013 Battle Over Cities (25 分)


#include<iostream>
#include<string.h>
using namespace std;
int v[1005][1005] = {0};
int visit[1005] = { 0 };
int n;
void dfs(int node)
{
	visit[node] = 1;
	for (int i = 1; i <= n; i++)
	{
		if (visit[i] == 0&&v[node][i]==1)
		{
			dfs(i);
		}
	}
}
int main()
{
	int  m, k;
	cin >> n >> m >> k;
	for (int i = 0; i < m; i++)
	{
		int a, b;
		cin >> a >> b;
		v[a][b] = v[b][a] = 1;

	}

	for (int i = 0; i < k; i++)
	{
		memset(visit, 0, sizeof(visit));
		int a;
		cin >> a;
		int cnt = 0;
		visit[a] = 1;
		for (int j = 1; j <= n; j++)
		{
			if (visit[j] == 0)
			{
				dfs(j);
				cnt++;
			}
		}
		cout << cnt - 1 << endl;
	}
	return 0;
}

 

 

1015 Reversible Primes (20 分)

#include<iostream>
#include<math.h>
#include<stack>


using namespace std;

int isprime(int n)
{
	if (n == 1)return 0; //1不是素数
	for (int i = 2; i <= sqrt(n); i++)
	{
		if (n % i == 0)return 0;
	}
	return 1;
}

int convert(int n,int radix)
{
	stack<int> sta;
	
	while (n)
	{
		sta.push(n % radix);
		n /= radix;
	}

	int temp = 0,index = 0;
	while (!sta.empty())
	{
		temp += sta.top() * pow(radix, index++);
		sta.pop();
	}
	return temp;
}

int main()
{
	int n, d;
	while (cin >> n && n >= 0)
	{
		cin >> d;
		if (isprime(n) && isprime(convert(n, d)))
			cout << "Yes" << endl;
		else cout << "No" << endl;
	}
	return 0;
}

 

 

1017 Queueing at Bank (25 分)

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
struct  node
{
	int come, time;
};
int second(int h, int m, int s)
{
	return h * 3600 + m * 60 + s;
}

bool cmp(node a, node b)
{
	return a.come < b.come;
}
int main()
{
	int n, k;
	cin >> n >> k;
	vector<node> custom;
	for (int i = 0; i < n; i++) 
	{
		int h, m, s, t;
		scanf("%d:%d:%d %d", &h, &m, &s, &t);
		if (second(h, m, s) > 61200)continue; //大于17:00
		node temp;
		temp.come = second(h, m, s);
		temp.time = t*60;
		custom.push_back(temp);
	}

	sort(custom.begin(), custom.end(), cmp);
	vector <int>window(k, 28800); //K个窗口都从8:00开始
	double ans = 0;
	for (int i = 0; i < custom.size(); i++)
	{
		int min_index = 0, min_finish = window[0];
		for (int j = 1; j < k; j++)
		{
			if (min_finish > window[j])
			{
				min_finish = window[j];
				min_index = j;
			}
		}
		if (window[min_index] <= custom[i].come)
		{
			window[min_index] = custom[i].come + custom[i].time;
		}
		else
		{
			ans += (window[min_index] - custom[i].come);
			window[min_index] += custom[i].time;
		}

	}
	if (custom.size() == 0)cout << "0.0" << endl;
	else
	{
		printf("%.1f\n", ans / 60.0 / custom.size());
	}
	return 0;

}

 

 

1019 General Palindromic Number (20 分)


#include<iostream>
#include<string.h>
#include<vector>
using namespace std;

int main()
{
	long long n, radix;
	cin >> n >> radix;
	vector<int> a;
	while (n)
	{
		a.push_back(n % radix);
		n /= radix;
	}
	int flag = 0;
	for (int i = 0, j = a.size() - 1; i < j; i++,j--)
	{
		if (a[i] != a[j])
		{
			flag = 1;
			break;
		}
	}
	if (flag)cout << "No" << endl;
	else cout << "Yes" << endl;
	for (int i = a.size()-1; i>=0; i--)
	{
		if (i == a.size() - 1)cout << a[i];
		else cout << " " << a[i];
	}
	cout << endl;
	return 0;
}

 

1020 Tree Traversals (25 分)

#include<iostream>
#include<queue>
using namespace std;
struct node
{
	int data;
	node* left;
	node* right;
};
int n;
int postorder[35] = {0};
int inorder[35] = { 0 };
int visited[35] = { 0 };
void create(node * root, int r)
{
	int rindex = 0;
	for (int i = 0; i < n; i++)
	{
		if (inorder[i] == postorder[r])
		{
			rindex = i;
			break;
		}
	}
	visited[rindex] = 1;
	int lcn = 0, rcn = 0;
	for (int i = rindex - 1; !visited[i] && i >= 0; i--) lcn++;  //统计该结点的左子树

	for (int i = rindex + 1; !visited[i] && i < n; i++) rcn++;   //统计该结点的右子树

	if (lcn == 0)root->left = NULL; //左子树为空,不递归
	else
	{
		node* lc = new node;
		lc->data = postorder[r-rcn-1];
		root->left = lc;
		create(lc, r - rcn - 1);
	}

	if (rcn == 0)root->right = NULL;
	else
	{
		node* rc = new node;
		rc->data = postorder[r - 1];
		root->right = rc;
		create(rc, r - 1);
	}

}

int main()
{
	cin >> n;
	for (int i = 0; i < n; i++)
	{
		cin >> postorder[i];
	}
	for (int i = 0; i < n; i++)
	{
		cin >> inorder[i];
	}
	node root;
	root.data = postorder[n - 1];
	create(&root, n - 1);
	queue<node> q;
	q.push(root);
	while (!q.empty())
	{
		node temp = q.front();
		q.pop();
		cout << temp.data;
		if(temp.left!=NULL)q.push(*temp.left);
		if(temp.right!=NULL)q.push(*temp.right);
		if (!q.empty())cout << " ";
	}
	cout << endl;
	return 0;

 }

 

 

1021 Deepest Root (25 分)

#include<iostream>
#include<vector>
#include<set>
#include<algorithm>
#include<string.h>
using namespace std;
int n=0, maxheight = 0;
vector<vector<int>> v;
int visit[10005] = { 0 };
set<int> s;
vector<int>temp;
void dfs(int node,int height)
{
	if (height > maxheight)
	{
		temp.clear();
		temp.push_back(node);
		maxheight = height;
	}
	else if(height==maxheight)
	{
		temp.push_back(node);
	}

	visit[node] = 1;
	for (int i = 0; i < v[node].size(); i++)
	{
		if (visit[v[node][i]] == 0)
		{
			dfs(v[node][i], height + 1);
		}
	}
}
int main()
{
	cin >> n;
	v.resize(n + 1);
	int a, b,s1=0,cnt=0;
	for (int i = 0; i < n - 1; i++)
	{
		cin >> a >> b;
		v[a].push_back(b);
		v[b].push_back(a);
	}
	for (int i = 1; i <= n; i++)
	{
		if (visit[i] == 0)
		{
			dfs(i, 1);
			if (i == 1)
			{
				if (temp.size() != 0)s1 = temp[0];
				for (int j = 0; j < temp.size(); j++)
				{
					s.insert(temp[j]);
				}
			}
			cnt++;
		}
	}
	if (cnt > 1)
	{
		printf("Error: %d components", cnt);
	}
	else
	{
		temp.clear();
		maxheight=0;
		memset(visit,0, sizeof(visit));
		dfs(s1, 1);
		for (int i = 0; i < temp.size(); i++)
		{
			s.insert(temp[i]);
		}
		for (auto it = s.begin(); it != s.end(); it++)
		{
			cout << *it << endl;
		}
	}
	return 0;
}

 

1023 Have Fun with Numbers (20 分)

#include<iostream>
#include<string>
using namespace std;
int flag1[10] = { 0 };
int flag2[10] = { 0 };
int main()
{
	string s;
	cin >> s;
	int len = s.size();
	for (int i = 0; i < s.size(); i++)
	{
		flag1[s[i] - '0']++;
	}

	int ans[25] = { 0 },j=0,c=0;
	for (int i = s.size()-1; i >=0; i--)
	{
		int temp = (s[i] - '0') * 2+c;
		ans[j] = temp % 10;
		flag2[ans[j++]]++;
		c = temp / 10;
	}
	if (c)ans[j++] = c; //最高位产生进位

	int flagyes = 1;
	for (int i = 0; i < 10; i++)
	{
		if (flag1[i] != flag2[i])
		{
			flagyes = 0;
			break;
		}
	}
	if (flagyes)cout << "Yes" << endl;
	else cout << "No" << endl;

	for (int i = j-1 ; i >= 0; i--)
	{
		
		cout << ans[i];
	}
	cout << endl;
	return 0;
}

 

1024 Palindromic Number (25 分)

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
string s;
void add(string t)
{
	int c = 0;
	for (int i =0; i <s.size(); i++)
	{
		int temp = s[i] - '0' + t[i] - '0' + c;
		s[i] = temp % 10 + '0';
		c = temp / 10;
	}
	if (c)s += '0' + c;
	reverse(s.begin(), s.end());
}
int main()
{
	int k;
	cin >> s >> k;
	//printf("%s %d", &s, &k);
	int i = 0;
	for (; i <= k; i++)
	{
		string t = s;
		reverse(t.begin(), t.end());
		if (t == s || i == k)break;
		add(t);

	}
	cout << s << endl << i;
	return 0;
}

 

 

1025 PAT Ranking (25 分)

#include<iostream>
#include<algorithm>
#include<vector>
#include<stdio.h>
using namespace std;
struct  student
{
	long long no;
	int score, finrank, loca, locarank;
};
bool cmp(student a, student b)
{
	return a.score != b.score ? a.score > b.score:a.no < b.no;
}
int main()
{
	int n;
	cin >> n;
	vector<student> fin;
	for(int i=1;i<=n;i++)
	{
		int k;
		cin >> k;
		vector<student> v(k);
		for (int j = 0; j < k; j++)
		{
			cin >> v[j].no >> v[j].score;
			v[j].loca = i;
		}
		sort(v.begin(), v.end(),cmp);
		v[0].locarank = 1;
		fin.push_back(v[0]);
		for (int j = 1; j < k; j++)
		{
			v[j].locarank = (v[j].score == v[j - 1].score ? v[j - 1].locarank : j + 1);
			fin.push_back(v[j]);
		}
		
	}
	sort(fin.begin(), fin.end(), cmp);
	fin[0].finrank = 1;
	for (int i = 1; i < fin.size(); i++)
	{
		fin[i].finrank = (fin[i].score == fin[i - 1].score ? fin[i - 1].finrank : i + 1);
	}
	cout << fin.size() << endl;
	for (int i = 0; i < fin.size(); i++)
	{
		//no前几位可能为0,右对齐补0
		printf("%013lld", fin[i].no);
		cout << " " << fin[i].finrank << " " << fin[i].loca << " " << fin[i].locarank << endl;
	}
	return 0;
}

 

 

1027 Colors in Mars (20 分)

#include<iostream>
using namespace std;
int main()
{
	char c[14] = { "0123456789ABC" };

	int t=0;
	for (int i = 0; i < 3; i++)
	{
		cin >> t;
		if(i==0)cout << "#";
		cout << c[t / 13] << c[t % 13];
	}
	cout << endl;
	return 0;
}

 

 

1028 List Sorting (25 分)

#include<iostream>
#include<string.h>
#include<algorithm>
#include<vector>
using namespace std;
struct node
{
	int no;
	char name[10];
	int score;
};
int n, type;
bool cmp(node a, node b)
{
	if(type==1)	return a.no < b.no;
	else if (type == 2)
	{
		if (strcmp(a.name, b.name) == 0)return a.no < b.no;
		return strcmp(a.name, b.name) <= 0;
	}
	else
	{
		if (a.score == b.score)return a.no < b.no;
		return a.score <= b.score;
	}
}

int main()   //用cin cout 最后样例超时
{
	
	cin >> n>>type;
	vector<node> v;
	for (int i = 0; i < n; i++)
	{
		node temp;
		scanf("%d %s %d", &temp.no, temp.name, &temp.score);
		//cin >> temp.no >> temp.name >> temp.score;
		v.push_back(temp);
	}
	sort(v.begin(), v.end(), cmp);
	for (int i = 0; i < n; i++)
	{
		printf("%06d %s %d\n", v[i].no, v[i].name, v[i].score);
		//cout << v[i].no << " " << v[i].name << " " << v[i].score << endl;
	}
	return 0;
	
}

 

 

1029 Median (25 分)

#include<iostream>
using namespace std;
int a[200005] = { 0 };
int b[200005] = { 0 };
int ans[400010] = { 0 };
int main()
{
	int n1,n2;
	cin >> n1;
	for (int i = 0; i < n1; i++)cin >> a[i];

	cin >> n2;
	for (int i = 0; i < n2; i++)cin >> b[i];
	int index = 0; 
	int i = 0, j = 0;
	while( i < n1 && j < n2)  //归并
	{
		if (a[i] < b[j])ans[index++] = a[i++];
		else ans[index++] = b[j++];
	}
	while (i<n1)
	{
		ans[index++] = a[i++];
	}
	while (j < n2)
	{
		ans[index++] = b[j++];
	}
	cout << ans[(n1 + n2-1) / 2] << endl;
	return 0;
}

 

 

1031 Hello World for U (20 分)

#include <iostream>
#include <string.h>
#include<stdio.h>
using namespace std;
int main() {
	char c[81] = {0}, u[30][30];
	memset(u, ' ', sizeof(u));
	scanf("%s", c);
	int n = strlen(c) + 2;
	int n1 = n / 3, n2 = n / 3 + n % 3, index = 0;
	for (int i = 0; i < n1; i++) u[i][0] = c[index++];
	for (int i = 1; i <= n2 - 2; i++) u[n1 - 1][i] = c[index++];
	for (int i = n1 - 1; i >= 0; i--) u[i][n2 - 1] = c[index++];
	for (int i = 0; i < n1; i++) {
		for (int j = 0; j < n2; j++)
			printf("%c", u[i][j]);
		printf("\n");
	}
	return 0;
}

 

 

1032 Sharing (25 分)

#include<iostream>
#include<stdio.h>
using namespace std;
struct NODE {
	char key;
	int next;
	bool flag;
}node[100000];
int main() {
	int s1, s2, n, a, b;
	scanf("%d%d%d", &s1, &s2, &n);
	char data;
	for (int i = 0; i < n; i++) {
		scanf("%d %c %d", &a, &data, &b);
		node[a] = { data, b, false };
	}
	for (int i = s1; i != -1; i = node[i].next)
		node[i].flag = true;
	for (int i = s2; i != -1; i = node[i].next) {
		if (node[i].flag == true) {
			printf("%05d", i);
			return 0;
		}
	}
	printf("-1");
	return 0;
}

 

 

1035 Password (20 分)

#include<iostream>
#include<string.h>
#include<string>
#include<vector>
using namespace std;
int main()
{
	int n;
	cin >> n;
	vector<string> v;
	for (int i = 0; i < n; i++)
	{
		string name,s;
		cin >> name >> s;
		int flag = 0;
		for (int i = 0; i < s.size(); i++)
		{
			switch (s[i])
			{
			case '1':s[i] = '@'; flag = 1; break;
			case'0':s[i] = '%'; flag = 1; break;
			case 'l':s[i] = 'L'; flag = 1; break;
			case'O':s[i] = 'o'; flag = 1; break;
			
			}
		}
		if (flag)
		{
			string temp = name + " " + s;
			v.push_back(temp);
		}

	}
	int cnt = v.size();
	if (cnt != 0) {
		printf("%d\n", cnt);
		for (int i = 0; i < cnt; i++)
			cout << v[i] << endl;
	}
	else if (n == 1) {
		printf("There is 1 account and no account is modified");
	}
	else {
		printf("There are %d accounts and no account is modified", n);
	}
	return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值