만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

RACI 행렬

면접 대비

시간 제한2초메모리 제한2048 MB

요약
RACI 행렬의 각 행에 A가 정확히 하나 있고 R은 최대 하나인지 확인합니다.
난이도

쉬움10점 중 2점

유형
배열, 구현
정답자
아직 제출이 없습니다

문제

Nikolai는 경영학 강의 시간에 학생들에게 프로젝트의 RACI 행렬을 만드는 과제를 냈다. RACI 행렬은 책임 할당 행렬로, 프로젝트의 모든 이해관계자가 각 작업에 어느 정도로 관여하는지 보여준다. 관여 수준은 R, A, C, I 네 가지 문자로 나타내고, 관여하지 않으면 -를 쓴다.

  • R (Responsible): 작업을 수행한다. 이 수준을 가진 사람이 없으면 A가 작업 전체를 수행한다.
  • A (Accountable): R에게서 작업을 넘겨받아 승인한다. 작업마다 A는 정확히 하나여야 한다. 다른 수준은 개수 제한이 없다.
  • C (Consulted): 작업을 진행하는 동안 자문을 제공한다.
  • I (Informed): 작업의 진행 상황에 대한 정보를 받는다.

주어진 RACI 행렬이 올바른지 확인하는 프로그램을 작성하라.

입력

첫 번째 줄에 행렬의 행 수 nn과 열 수 mm이 주어진다 (1≤n,m≤1001 \le n, m \le 100).

이어지는 nn개의 줄에는 각각 공백으로 구분된 mm개의 원소가 주어진다. 각 행은 작업 하나에, 각 열은 이해관계자 한 명에 대응한다. 각 원소는 대문자 R, A, C, I 중 하나이거나 마이너스 기호 -이다.

출력

행렬이 올바르면 Yes를, 그렇지 않으면 No를 출력한다.

예제2

  1. 예제 1

    입력
    3 5
    C C A - I
    A R - C I
    A R I C -
    
    예상 출력
    Yes
    
  2. 예제 2

    입력
    3 3
    A - C
    R C I
    - A I
    
    예상 출력
    No