본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 14709 : 여우 사인

반응형

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

 

14709번: 여우 사인

첫 번째 예시는 엄지손가락과 중지, 약지와 중지, 엄지손가락과 약지가 서로 닿아 있고 검지와 새끼손가락은 다른 손가락과 닿아 있지 않으므로 여우 사인이라고 할 수 있다. 두 번째 예시는 검

www.acmicpc.net

구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

손가락이 맞닿아 있는 상태를 나타내는 이차원 배열 fingerGraph, 나타낼 상태 개수 n을 입력 후 n개의 상태를 입력받습니다.

📔 풀이과정

다음 상태를 확인해 맞다면 여우사인입니다.

1. 엄지 중지

2. 엄지 약지

3. 중지 약지

4. 검지와 새끼는 펴져 있어야 합니다.

📔 정답출력

1 ~ 4까지 맞다면 "Wa-pa-pa-pa-pa-pa-pow!"를

아니라면 "Woof-meow-tweet-squeek"


📕 Code

#include <bits/stdc++.h>
using namespace std;
int fingerGraph[6][6], n;

bool isPricked(int start){
  for(int i = 1; i <= 5; i++){
    if(fingerGraph[start][i]) return false;
  }
  return true;
}

int main(){
  cin >> n;

  for(int i = 0, a, b; i < n; i++){
    cin >> a >> b;
    fingerGraph[a][b] = 1;
  }
  
  if(
    (fingerGraph[1][3] || fingerGraph[3][1]) && //엄지 중지
    (fingerGraph[1][4] || fingerGraph[4][1]) && //엄지 약지
    (fingerGraph[3][4] || fingerGraph[4][3]) && //중지 약지
    isPricked(2) && isPricked(5)
  ) 
    cout << "Wa-pa-pa-pa-pa-pa-pow!";
  else cout << "Woof-meow-tweet-squeek";
}