社区讨论
60
P1177【模板】排序参与者 5已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @m03xez8h
- 此快照首次捕获于
- 2024/08/21 22:05 2 年前
- 此快照最后确认于
- 2025/11/04 22:48 4 个月前
| Score | Source Code | Other Informations |
|---|---|---|
| code[0] | No score | |
| ~ TLE | ||
| Last are MLE/ | ||
| Used rand. MLE chance has been reduced. | ||
Code: [
CPP#include <iostream>
using namespace std;
int getMin(int a[], int len) {
int min = 2147483647;
for (int i = 0; i < len; i++) {
if ((min > a[i]) && (a[i] != -2147483648)) {
min = i;
}
}
return min;
}
int main() {
int n;
cin >> n;
int a[n],b[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
b[i] = 0;
}
int cnt = 0;
for (int i = 0; i < n; i++) {
int min = getMin(a, n);
b[cnt] = a[min];
a[min] = -2147483648;
cnt++;
break;
}
for (int i = 0; i < n; i++) {
cout << b[i] << ' ';
}
return 0;
}
,
CPP#include <iostream>
using namespace std;
int getMin_index(int a[], int len, int start) {
int min_index = start;
for (int i = start + 1; i < len; i++) {
if (a[min_index] > a[i]) {
min_index = i;
}
}
return min_index;
}
int main() {
int n;
cin >> n;
int a[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < n - 1; i++) {
int min_index = getMin_index(a, n, i);
int temp = a[min_index];
a[min_index] = a[i];
a[i] = temp;
}
for (int i = 0; i < n; i++) {
cout << a[i] << ' ';
}
return 0;
}
,
CPP#include <iostream>
#include <queue>
using namespace std;
//Ascend
void quicksort(int a[], int len) {
if (len == 0 || len == 1) return;
int mid = a[0];
queue <int> q1;
queue <int> q2;
for (int i = 1; i < len; i++) {
if (a[i] < mid) q1.push(a[i]);
else q2.push(a[i]);
}
int len1 = q1.size();
int len2 = q2.size();
int l[len1], r[len2];
for (int i = 0; i < len1; i++) {
l[i] = q1.front();
q1.pop();
}
for (int i = 0; i < len2; i++) {
r[i] = q2.front();
q2.pop();
}
quicksort(l, len1);
quicksort(r, len2);
int i = 0;
for (; i < len1; i++) {
a[i] = l[i];
}
a[i] = mid;
i++;
for (int j = 0; i < len; i++, j++) {
a[i] = r[j];
}
}
int main() {
int n;
cin >> n;
int a[n];
for (int i = 0; i < n; i++) cin >> a[i];
quicksort(a, n);
for (int i = 0; i < n; i++) {
cout << a[i] << ' ';
}
return 0;
}
,
CPP#include <iostream>
#include <queue>
#include <cstdlib>
#include <ctime>
using namespace std;
//Ascend
void quicksort(int a[], int len) {
if (len == 0 || len == 1) return;
srand(time(0));
int pos = rand() % len;
int mid = a[pos];
queue <int> q1;
queue <int> q2;
for (int i = 0; i < len; i++) {
if (i == pos) continue;
if (a[i] < mid) q1.push(a[i]);
else q2.push(a[i]);
}
int len1 = q1.size();
int len2 = q2.size();
int l[len1], r[len2];
for (int i = 0; i < len1; i++) {
l[i] = q1.front();
q1.pop();
}
for (int i = 0; i < len2; i++) {
r[i] = q2.front();
q2.pop();
}
quicksort(l, len1);
quicksort(r, len2);
int i = 0;
for (; i < len1; i++) {
a[i] = l[i];
}
a[i] = mid;
i++;
for (int j = 0; i < len; i++, j++) {
a[i] = r[j];
}
}
int main() {
int n;
cin >> n;
int a[n];
for (int i = 0; i < n; i++) cin >> a[i];
quicksort(a, n);
for (int i = 0; i < n; i++) {
cout << a[i] << ' ';
}
return 0;
}
]
.
CPPnew generator. 40-score chance reduced.
#include <iostream>
#include <queue>
#include <cstdlib>
#include <ctime>
using namespace std;
long long new_rand() {
srand(time(0));
int x = rand();
srand(time(0));
int y = rand();
return x * 32767 + y;
}
//Ascend
void quicksort(int a[], int len) {
if (len == 0 || len == 1) return;
srand(time(0));
int pos = new_rand() % len;
int mid = a[pos];
queue <int> q1;
queue <int> q2;
for (int i = 0; i < len; i++) {
if (i == pos) continue;
if (a[i] < mid) q1.push(a[i]);
else q2.push(a[i]);
}
int len1 = q1.size();
int len2 = q2.size();
int l[len1], r[len2];
for (int i = 0; i < len1; i++) {
l[i] = q1.front();
q1.pop();
}
for (int i = 0; i < len2; i++) {
r[i] = q2.front();
q2.pop();
}
quicksort(l, len1);
quicksort(r, len2);
int i = 0;
for (; i < len1; i++) {
a[i] = l[i];
}
a[i] = mid;
i++;
for (int j = 0; i < len; i++, j++) {
a[i] = r[j];
}
}
int main() {
int n;
cin >> n;
int a[n];
for (int i = 0; i < n; i++) cin >> a[i];
quicksort(a, n);
for (int i = 0; i < n; i++) {
cout << a[i] << ' ';
}
return 0;
}
Please fix my code.
回复
共 7 条回复,欢迎继续交流。
正在加载回复...