| 题目名称 | 2851. Innovative Business |
|---|---|
| 输入输出 | business.in/out |
| 难度等级 | ★★ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 512 MiB |
| 测试数据 | 4 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:1, 提交:3, 通过率:33.33% | ||||
|
|
100 | 0.440 s | 5.51 MiB | C++ |
|
|
75 | 0.427 s | 5.49 MiB | C++ |
|
|
50 | 0.457 s | 5.46 MiB | C++ |
| 关于 Innovative Business 的近10条评论(全部评论) |
|---|
有$n$个元素,编号$1,2,3,\cdots,n$,每一对元素之间的大小关系是确定的,关系具有反对称性,但不具有传递性。
也就是说,元素的大小关系是$n$个点与$\frac{n(n-1)}{2}$条有向边构成的任意有向图。
注意:不存在两个元素大小相等的情况。
你可以通过调用bool类型的函数compare来获得两个元素之间的大小关系。
// 如果第a号元素小于第b号元素 返回true // 反之 返回false bool compare(int a, int b);
你必须通过不超过$10000$次函数调用来将这$n$个元素排成一行,使得每个元素都小于右边与它相邻的元素。
你需要提交如下格式的代码
#include "test.h"
// 有n个元素,结果为排序后n个元素的编号,放在数组a[1:n]中
void special_sort(int a[], int n)
{
}
$n\leq 1000$
评测时必须使用文件输入输出评测机。