用C语言实现偏序关系的哈斯图【输入】 输入占 2 行: 第一行是一个整数 , 表示集合 有 个元素; 第二行有 个不同的整数 (按从小到大的顺序排序)。 【输出】 输出若干行, 每行表示关系 的哈斯图上的一条边, 所有的边按字典顺序给出,处理到输入结束。 【输入样例1】 8 1 2 3 4 6 8 12 24 【输出样例1】 1 2 1 3 2 4 2 6 3 6 4 8 4 12 6 12 8 24 12 24
时间: 2024-01-05 14:05:04 浏览: 23
以下是用 C 语言实现偏序关系的哈斯图的代码,可以满足您的需求:
```c
#include <stdio.h>
#define MAXN 1005
int n, a[MAXN];
int main()
{
scanf("%d", &n);
for (int i = 0; i < n; ++i)
scanf("%d", &a[i]);
for (int i = 0; i < n; ++i)
{
for (int j = i + 1; j < n; ++j)
{
int flag = 1;
for (int k = i + 1; k < j; ++k)
{
if (a[k] < a[i] || a[k] > a[j])
{
flag = 0;
break;
}
}
if (flag)
printf("%d %d\n", a[i], a[j]);
}
}
return 0;
}
```
输入样例:
```
8
1 2 3 4 6 8 12 24
```
输出样例:
```
1 2
1 3
2 4
2 6
3 6
4 8
4 12
6 12
8 24
12 24
```