輸入
輸入偏序集
£>,a
中的元素數不超過
20個,分別用單個小寫的英文本母表示。
輸入的第一行給出
a中的各個元素,兩個相鄰的元素之間用逗號隔開。
輸入的第二行給出偏序關係
£,用有序對的形式給出(只給出哈斯圖中的滿足覆蓋的兩個元素形成的有序對),如
,等等,兩個相鄰的有序對之間用逗號隔開。 輸出
輸出a的極小元與極大元。
輸出的第一行給出各個極小元,兩個相鄰元素之間用逗號隔開,輸出的元素要求按照英文本母的自然順序排列輸出。
輸出的第二行給出各個極大元,兩個相鄰元素之間用逗號隔開,輸出的元素要求按照英文本母的自然順序排列輸出。
樣例輸入
a,b,c,d ,
樣例輸出
a,cb,d
#include#include#include#define maxn 1000
#define maxm 10
using namespace std;
char s[maxn]; //儲存字元
char re[maxn]; //儲存關係
char pos[maxm];
int cnt[27][2]; //標記字母再偏序關係中的位置
char maxs[27]; //儲存極大元
char mins[27]; //儲存極大元
void setcnt()
void setoutput()
if (cnt[s[i] - 'a'][0] == 0 && cnt[s[i] - 'a'][1] == 1) maxs[i2++] = s[i];
} }}void output1()
void output2()
int main() //對cnt陣列初始化
scanf("%s", s);
scanf("%s", re);
int l = strlen(re);
int post;
for (int i = 0;i < l;i++)
else if ((re[i] >= 'a'&&re[i] <= 'z')||(re[i]==','&&re[i-1]!='<'))
else if (re[i] == '>')
} setoutput(); //將結果儲存
output1();
output2();
return 0;
}
求偏序集中的極大元與極小元
1.題目描述 成績10 開啟時間 2017年05月16日 星期二 08 00 折扣0.8 折扣時間 2017年06月1日 星期四 23 55 允許遲交 否關閉時間 2017年06月7日 星期三 23 55 輸入 輸入偏序集 a 中的元素數不超過 20個,分別用單個小寫的英文本母表示。輸入的第一行給出...
求偏序集中的極大元與極小元
輸入 輸入偏序集 a 中的元素數不超過 20個,分別用單個小寫的英文本母表示。輸入的第一行給出 a中的各個元素,兩個相鄰的元素之間用逗號隔開。輸入的第二行給出偏序關係 用有序對的形式給出 只給出哈斯圖中的滿足覆蓋的兩個元素形成的有序對 如 等等,兩個相鄰的有序對之間用逗號隔開。輸出 輸出 a的極小元...
最大元最小元上確界 偏序集中的特殊元素
若 x x b x y 則y為b的上界 若 x x b y x 則y為b的下界 令c 則c中最小元就是b上確界 令c 則c中最小元就是b上確界 理解 最大元 x x b x y 由定義知道,x必須是b中的任何的乙個元素,也同時y必須和x有關係,也就是說y必須和b內的任何乙個元素有關係,如果都有x y...