#1325
Silver I
연금술
시간 제한
1s
메모리 제한
512MB
제출
32
정답
14
맞힌 사람
14
정답 비율
43.8%

문제

ANA 길드에서 '연금술'을 수강 중인 견습 연금술사 차차는 어려운 과제에 직면했다. 과제의 내용은 다음과 같다.

NN종류의 재료가 있으며, 이 중 MM종류의 재료는 이미 충분히 주어져 있다. 나머지 모든 재료는 연금술 조합식을 이용해 만들어야 하며, 모든 재료 NN종을 완성해 제출해야 과제를 통과할 수 있다.

주어진 MM종류의 재료는 필요한 만큼 무한히 사용할 수 있으며, 연금술 외의 다른 방법은 사용할 수 없다. 따라서 차차는 자신이 알고 있는 연금술 지식을 총동원해 과제를 해결하려 한다.

차차가 알고 있는 조합식은 총 KK개다. 각 조합식은 22개의 재료를 사용하며, 같은 재료를 두 번 사용하는 것도 가능하다. 하나의 조합식을 사용하면 특정한 재료 하나를 새롭게 생성할 수 있다.

차차는 이러한 조합식을 적절히 활용하여, 모든 재료를 적어도 하나 이상 만들 수 있을까?

입력

첫째 줄에 세 정수 NN, MM, KK가 공백으로 구분되어 주어진다. (1MN1,000;1K1,000)(1 \le M \le N \le 1,000; 1 \le K \le 1,000)

둘째 줄에 길이 NN의 정수 배열 AA가 공백으로 구분되어 주어진다. Ai=1A_i = 1이면 ii번 재료는 주어진 재료이고, Ai=0A_i = 0이면 조합식을 통해 만들어야 하는 재료이다. (Ai{0,1};i=1NAi=M)(A_i \in \{0, 1\}; \sum_{i=1}^{N} A_i = M)

이후 KK개의 줄에는 조합식이 주어진다. 각 줄에는 세 정수 X1X_1, X2X_2, YY가 공백으로 구분되어 주어진다.

X1X_1번 재료와 X2X_2번 재료를 사용하면 YY번 재료를 만들 수 있다는 뜻이다. (1X1N;1X2N;1YN)(1 \le X_1 \le N; 1 \le X_2 \le N; 1 \le Y \le N)

출력

모든 종류의 재료를 만들어 과제 해결이 가능하다면 yes, 불가능하다면 no를 출력한다.

예제 입력 1

5 3 6
1 0 1 0 1
1 3 5
2 3 4
1 2 4
3 4 2
3 5 2
4 5 1

예제 출력 1

yes

예제 입력 2

4 1 4
1 0 0 0
1 2 3
2 3 4
3 4 1
1 4 2

예제 출력 2

no
문제를 만든 사람
김승현
알고리즘 분류
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
#순위사용자언어시간메모리코드 길이
7309🥇
Flying_Spaghetti_Monster
C++1ms1216KB708B
8102🥈
아르고스화이팅
C++1ms1216KB1015B
7401🥉
Fine_Tuning
C++1ms1216KB824B
80504
멋진승주
Python25ms8772KB956B
83455
조서현
PyPy31ms56428KB611B
78106
Team_Choi
PyPy33ms55756KB445B
79327
베이지_데리버거
Python42ms8652KB432B
76288
코요태
PyPy44ms56724KB402B
80259
이승준
Java45ms37296KB2025B
722610
진하김
Java50ms37716KB2550B
751611
나여
Java65ms38176KB1833B
826812
김승현
Python78ms8760KB314B
844013
안우진
Python139ms8548KB331B
795114
거북거북
Python139ms16556KB532B
난이도 투표
Silver I4명 투표· 11일 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
#사용자문제결과언어시간메모리코드 길이제출 시간
8440
맞았습니다
Python139ms8548KB331B2026. 05. 26. 11:10
8345
맞았습니다
PyPy31ms56428KB611B2026. 05. 26. 01:59
8344
런타임 에러
PyPy--603B2026. 05. 26. 01:59
8268
맞았습니다
Python78ms8760KB314B2026. 05. 25. 14:02