社区讨论

不知道哪里错了,求大佬看看

P4414[COCI 2006/2007 #2] ABC参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lo84nhto
此快照首次捕获于
2023/10/27 12:42
2 年前
此快照最后确认于
2023/10/27 12:42
2 年前
查看原帖
CPP
#include <iostream>
using namespace std;

const int N = 10;
int p[N];
string ch;

void quick_sort(int p[], int l, int r)
{
	if(l >= r) return ;
	
	int i = l - 1, j = r + 1, mid = p[l + r >> 1];
	while(i < j)
	{
		do i++; while(p[i] < mid);
		do j--; while(p[j] > mid);
		if(p[i] < p[j]) swap(p[i], p[j]);
	}
	quick_sort(p, l, mid);
	quick_sort(p, mid + 1, r);
}

int main()
{
	int n = 3;
	for(int i = 0; i < n; i++) cin >> p[i];
	puts("");
	quick_sort(p, 0, n - 1);
	cin >> ch;
	if(ch == "ABC") cout << p[0] << p[1] << p[2];
	else if(ch == "ACB") cout << p[0] << p[2] << p[1];
	else if(ch == "BCA") cout << p[1] << p[2] << p[0];
	else if(ch == "BAC") cout << p[1] << p[0] << p[2];
	else if(ch == "CAB") cout << p[2] << p[0] << p[1];
	else if(ch == "CBA") cout << p[2] << p[1] << p[0];
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...