문제 링크는 여기 https://www.acmicpc.net/problem/17210
소스코드는 아래에
#include
int main() {
int door, way, two, three, i = 2, stc = 0;
scanf_s("%d %d", &door, &way);
two = way ? 0 : 1;
three = way ? 1 : 0;
way = !way;
for (; i <= door; i++) {
if (!(i % 2)) {
if (way != two) {
printf("Love is open door"); stc = 1; break;
}
}
if (!(i % 3)) {
if (way != three) {
printf("Love is open door"); stc = 1; break;
}
}
way = !way;
}
if (stc == 0) {
for (int j = 2; j <= door; j++) { printf("%d\n", two); two = !two; }
}
system("pause");
return 0;
}
공개되어있는 테스트케이스는 정답 나오는데 왜 틀리는지 모르겠다. 제출할땐 언더바s 없애고 시스템퍼즈 없애고 제출했다.
어디 부분에서 틀렸길래 이러는지를 잘 모르겠음.
문제가 좀 이상한거같은데. 문이 6개 이상이면 어떻게 해도 통과 안되잖아. n번째 문을 여는법을 a(n)이라고 하면 규칙3에 의해 a(2)==a(6), 규칙4에 의해 a(3)==a(6), 따라서 a(2)==a(3). 이것은 규칙 2에 의해 모순이니까 N이 1부터5일때, 여는법이 0이거나 1일때 출력패턴을 2 * 5 배열로 만들고, N이 6이상이면
근데 25억번까지 가보려고 for찍은거임?
모름..모르겠음...
love is open door 출력되도록 만드는게 어떤지. 2번 조건을 내가 잘못 이해한것 같은데, 어떻게든 01010101......이거나 1010101010.....으로 하라는거야? 절대 N이 6이상이면 문자열 출력하는 문제는 아닐것 같은데
오호라.
사실맞음
아 그냥 그걸로 끝나는 문젠가
그게 끝인 문제더라 고맙다