티스토리 뷰
https://www.acmicpc.net/problem/2224
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <cstdio> int n,i,j,k,cnt,d[52][52]; char a[3000][2]; int ctoi(char c) { return c>='A' && c<='Z'?c-'A':c-'a'+26; } char itoc(int n) { return n<26?'A'+n:'a'+n-26; } int main() { for(i=0;i<52;i++) d[i][i]=1; scanf("%d",&n); while(n--) { char p,q; scanf(" %c => %c",&p,&q); d[ctoi(p)][ctoi(q)]=1; } for(k=0;k<52;k++) for(i=0;i<52;i++) for(j=0;j<52;j++) d[i][j]|=d[i][k]&d[k][j]; for(i=0;i<52;i++) for(j=0;j<52;j++) if(d[i][j] && i!=j) a[cnt][0]=itoc(i),a[cnt][1]=itoc(j),cnt++; printf("%d\n",cnt); for(i=0;i<cnt;i++) printf("%c => %c\n",a[i][0],a[i][1]); return 0; } | cs |
'Algorithm > BOJ' 카테고리의 다른 글
2098 외판원 순회 (0) | 2018.09.13 |
---|---|
1563 개근상 (0) | 2018.09.12 |
6135 Cow Hurdles (0) | 2018.09.12 |
11562 백양로 브레이크 (0) | 2018.09.12 |
2458 키 순서 (0) | 2018.09.12 |