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 27 28 29 30 31 32 | #include<iostream> #include<string> #include<vector> using namespace std; int main(void) { int N,k,i; int count=0; cin >> N; vector<string> stc(N); for (int i = 0; i < N; i++) { cin >> stc[i]; } for (i = 0; i < N-1; i++) { for (k = i + 1; k < N;k++) { int swp1[27] = { 0 }, swp2[27] = { 0 }; //알파벳 26+널문자공간. bool check = true; for (int p = 0; p < stc[i].length(); p++) { int a = stc[i][p] - 'a'+1; int b = stc[k][p] - 'a'+1; if (!swp1[a] && !swp2[b]) { //둘중에 하나라도 이전에 같은 알파벳이 입력된적 없니? swp1[a] = b; swp2[b] = a; } else if (swp1[a] != b) check = false; //문자겹치는게 나왔는데 같지않으면 같은단어아님! } if (check) count++; } } cout << count; return 0; } | cs |
문제 피드백,질문 댓글로 부탁드려요~!
'알고리즘 > BAEKJOON' 카테고리의 다른 글
백준 10451번 순열 사이클 (0) | 2018.11.08 |
---|---|
백준 1718번 암호 (0) | 2018.11.06 |
백준 1972번 놀라운 문자열 (0) | 2018.11.06 |
백준 4334번 평균은 넘겠지 (0) | 2018.11.01 |
백준 10545번 뚜기뚜기메뚜기 (0) | 2018.11.01 |