偏序关系

简介: 偏序关系

偏序关系

Time Limit: 1000 ms Memory Limit: 65536 KiB

SubmitStatisticDiscuss

Problem Description

给定有限集上二元关系的关系矩阵,确定这个关系是否是偏序关系。

Input

多组测试数据,对于每组测试数据,第1行输入正整数n(1 <= n <= 100),第2行至第n+1行输入n行n列的关系矩阵。

Output

对于每组测试数据,若为偏序关系,则输出yes,反之,则输出no。

Sample Input

4
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
4
1 0 0 1
0 1 0 0
0 0 1 0
1 0 0 1

Sample Output

yes
no

Hint

偏序关系形式定义:设R是集合A上的一个二元关系,若R满足自反性、反对称性、传递性,则称R为A上的偏序关系。

Source

xry-fhf、

思路:首先斜的一列不能为0,其次a[i[[j] 和 a[j][i]不能同时为1,如果a[i][j]为1的话,需要考虑a[j[k]和a[i][k]的值

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n, i, j, k, a[101][101], b;
    while(scanf("%d", &n) != EOF)
    {
        b = 0;
        for(i = 1; i <= n; i++)
        {
            for(j = 1; j <= n; j++)
            {
                scanf("%d", &a[i][j]);
            }
        }
        for(i = 1; i <= n && b != 1; i++)
        {
            if(a[i][i] == 0)
            {
                b = 1;
                break;
            }
            for(j = 1; j <= n && b != 1; j++)
            {
                if(i != j)
                {
                    if(a[i][j] == 1 && a[j][i] == 1)
                    {
                        b = 1;
                        break;
                    }
                    if(a[i][j] == 1)
                    {
                        for(k = 1; k <= n; k++)
                        {
                            if(a[j][k] == 1 && a[i][k] == 0)
                            {
                                b = 1;
                                break;
                            }
                        }
                    }
                }
            }
        }
        if(b == 1)
        {
            printf("no\n");
        }
        else
        {
            printf("yes\n");
        }
    }
    return 0;
}
相关文章
|
6月前
|
开发框架 .NET C#
浅谈c和c++和c#之间的关系
浅谈c和c++和c#之间的关系
80 0
|
11月前
集合的自反关系和对称关系
集合的自反关系和对称关系
124 1
【集合论】序关系 ( 偏序集元素之间的关系 | 可比 | 严格小于 | 覆盖 | 哈斯图 )
【集合论】序关系 ( 偏序集元素之间的关系 | 可比 | 严格小于 | 覆盖 | 哈斯图 )
410 0
【集合论】序关系 ( 偏序集元素之间的关系 | 可比 | 严格小于 | 覆盖 | 哈斯图 )
|
移动开发 JavaScript
集合论—关系的运算和性质
集合论—关系的运算和性质
|
vr&ar
【离散数学】集合与关系
1. 集合 2. 序偶 3. 笛卡尔积 4. 关系 5. 复合关系 6. 逆关系 7. 关系的闭包运算 8. 集合的划分与覆盖 9. 等价关系 10. 相容关系 11. 序关系
181 0
|
人工智能 数据建模 计算机视觉
矩阵和数据之间的关系 | 学习笔记
快速学习矩阵和数据之间的关系
443 0
矩阵和数据之间的关系 | 学习笔记
|
容器
getChildFragmentManager和getsupportFragmentManager和getFragmentManager的关系
getChildFragmentManager和getsupportFragmentManager和getFragmentManager的关系
类之间的关系共为6种关系
类之间的关系共为6种关系
571 0
|
算法
偏序关系
偏序 关系 离散数学
721 0
偏序关系
|
vr&ar
【集合论】序关系 ( 全序关系 | 全序集 | 全序关系示例 | 拟序关系 | 拟序关系定理 | 三歧性 | 拟线序关系 | 拟线序集 )
【集合论】序关系 ( 全序关系 | 全序集 | 全序关系示例 | 拟序关系 | 拟序关系定理 | 三歧性 | 拟线序关系 | 拟线序集 )
538 0
【集合论】序关系 ( 全序关系 | 全序集 | 全序关系示例 | 拟序关系 | 拟序关系定理 | 三歧性 | 拟线序关系 | 拟线序集 )