2024-10-09 【PTA】【乙级】【题解3】

row = i - 1;

break;

}

}

for (int i = row; i >= 1;i–){

for (int k = row - i; k >= 1;k–)

cout << " ";

for (int j = i * 2 + 1; j >= 1;j–)

cout << c;

cout << endl;

}

for (int i = 0; i < row;i++)

cout << " ";

cout << c << endl;

for (int i = 1; i <= row;i++){

for (int k = row - i; k >= 1;k–)

cout << " ";

for (int j = i * 2 + 1; j >= 1;j–)

cout << c;

cout << endl;

}

cout << n - (2 * row * (row + 2) + 1);

return 0;

}

1020 月饼 (25 分)


#include<bits/stdc++.h>

using namespace std;

//1020 月饼 (25 分)

struct pink{

double a;

double b;

double dan;

} c[1005];

bool cmp(pink a,pink b){

return a.dan<b.dan;

}

int main(){

int n;

double d;

cin >> n >> d;

for (int i = 0; i < n;i++){

cin >> c[i].a;

}

for (int i = 0; i < n;i++){

cin >> c[i].b;

}

for (int i = 0; i < n;i++){

c[i].dan = c[i].b * 1.0 / c[i].a;

}

sort(c, c + n,cmp);

double

必看视频!获取2024年最新Java开发全套学习资料 备注Java

sum = 0;

for (int i = n - 1; i >= 0;i–){

if(d-c[i].a>0){

sum += c[i].b;

d -= c[i].a;

}else{

sum += d * c[i].dan;

break;

}

}

printf(“%.2lf”, sum);

return 0;

}

1025反转链表


#include<bits/stdc++.h>

using namespace std;

//1025

const int maxn = 1e5 + 5;

int main(){

ios::sync_with_stdio(0);

int first, k, n, temp;

cin >> first >> n >> k;

int data[maxn], next[maxn], list[maxn];

for (int i = 0; i < n;i++){

cin >> temp;

cin >> data[temp] >> next[temp];

}

int sum = 0;

while (first != -1){

list[sum++] = first;

first = next[first];

}

for (int i = 0; i < (sum - sum % k);i+=k){

reverse(begin(list) + i, begin(list) + i + k);

}

for (int i = 0; i < sum - 1;i++){

printf(“%05d %d %05d\n”, list[i], data[list[i]], list[i + 1]);

}

printf(“%05d %d -1”, list[sum - 1], data[list[sum - 1]]);

return 0;

}

#include

#include

#include

using namespace std;

const int N = 1e5 + 5;

struct node {

int addr, data, next;

int tag = 0x3f3f3f3f;

bool operator<(const node& t)const {

return tag < t.tag;

}

}L[N];

int main()

{

int h, n, k, len = 0;

cin >> h >> n >> k;

for (int i = 0; i < n; i++)

{

int addr;

cin >> addr;

L[addr].addr = addr;

cin >> L[addr].data >> L[addr].next;

}

for (int i = h; i != -1; i=L[i].next) {

len++;

L[i].tag = len;

}

sort(L, L + N);

for (int i = 0; i <= len - k; i+=k) {

reverse(L + i, L + i + k);

}

for (int i = 0; i < len; i++)

{

if (i != len - 1)

cout << setw(5) << setfill(‘0’) << L[i].addr << ’ ’ << L[i].data << ’ ’ << setw(5) << setfill(‘0’) << L[i + 1].addr << endl;

else

cout << setw(5) << setfill(‘0’) << L[i].addr << ’ ’ << L[i].data << ’ ’ << -1 << endl;

}

return 0;

}

1024 科学计数法 (20 分)


#include<bits/stdc++.h>

using namespace std;

//1024 科学计数法 (20 分)

int main(){

ios::sync_with_stdio(0);

string s;

cin>>s;

int i = 0;

while(s[i]!=‘E’)

i++;

string t = s.substr(1, i - 1);//

int n = stoi(s.substr(i+1));//

if(s[0]==‘-’)

cout << ‘-’;

if(n<0){

cout << “0.”;

for (int j = 0; j < abs(n) - 1;j++)

cout << ‘0’;

for (int j = 0; j < t.length();j++)

if(t[j]!=‘.’)

cout << t[j];

}else{

cout << t[0];

int cnt, j;

for (j = 2, cnt = 0; j < t.length() && cnt < n;j++,cnt++)

cout << t[j];

if(j==t.length()){

for (int k = 0; k < n - cnt;k++)

写在最后

可能有人会问我为什么愿意去花时间帮助大家实现求职梦想,因为我一直坚信时间是可以复制的。我牺牲了自己的大概十个小时写了这片文章,换来的是成千上万的求职者节约几天甚至几周时间浪费在无用的资源上。

复习一周,字节跳动三场技术面+HR面,不小心拿了offer

复习一周,字节跳动三场技术面+HR面,不小心拿了offer

上面的这些(算法与数据结构)+(Java多线程学习手册)+(计算机网络顶级教程)等学习资源
, j;

for (j = 2, cnt = 0; j < t.length() && cnt < n;j++,cnt++)

cout << t[j];

if(j==t.length()){

for (int k = 0; k < n - cnt;k++)

写在最后

可能有人会问我为什么愿意去花时间帮助大家实现求职梦想,因为我一直坚信时间是可以复制的。我牺牲了自己的大概十个小时写了这片文章,换来的是成千上万的求职者节约几天甚至几周时间浪费在无用的资源上。

[外链图片转存中…(img-6JpXgr60-1716380325055)]

[外链图片转存中…(img-6eNuQPvg-1716380325056)]

上面的这些(算法与数据结构)+(Java多线程学习手册)+(计算机网络顶级教程)等学习资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值