티스토리 뷰
https://www.acmicpc.net/problem/10159
모든 정점에 대하여 플로이드를 돌리고 비교 관계를 확인한다. 두 정점에 대하여 앞쪽이 더 큰지, 뒤쪽이 더 큰지 둘다 알 수 없다면 비교 관계를 알 수 없다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <cstdio> int n,m,i,j,k,d[101][101]; int main() { scanf("%d %d",&n,&m); while(m--) scanf("%d %d",&i,&j),d[i][j]|=1; for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) d[i][j]|=d[i][k]&d[k][j]; for(i=1;i<=n;i++) { int cnt=0; for(j=1;j<=n;j++) if(!d[i][j] && !d[j][i]) cnt++; printf("%d\n",cnt-1); } return 0; } | cs |
'Algorithm > BOJ' 카테고리의 다른 글
2660 회장뽑기 (0) | 2018.02.26 |
---|---|
10163 색종이 (0) | 2018.02.26 |
2947 나무 조각 (0) | 2018.02.23 |
2702 초6 수학 (0) | 2018.02.23 |
1939 중량제한 (0) | 2018.02.23 |