티스토리 뷰

Algorithm/BOJ

2224 명제 증명

henry1214 2018. 9. 12. 11:52

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
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday