페이지

10159번: 저울

https://www.acmicpc.net/problem/10159


#include<stdio.h>
int N, M, data[101][101], cnt;
int main()
{
    int i, j, k, x, y;
    scanf("%d", &N);
    scanf("%d", &M);
    for (i = 1; i <= M; i++)
    {
        scanf("%d %d", &x, &y);
        data[x][y] = 1;
    }
    for (i = 1; i <= N; i++)
    {
        for (j = 1; j <= N; j++)
        {
            for (k = 1; k <= N; k++)
            {
                if (data[j][i] && data[i][k])
                    data[j][k] = 1;
            }
        }
    }
    for (i = 1; i <= N; i++)
    {
        cnt = 0;
        for (j = 1; j <= N; j++)
        {
            if (!data[i][j] && !data[j][i])
                cnt++;
        }
        printf("%d\n", cnt - 1);
    }
    return 0;
}

댓글 없음 :

댓글 쓰기