jh05013   5년 전

"단, 속국은 자신의 종주국 이외의 다른 왕국과 전쟁을 치를 수 없다. 따라서 전쟁의 결과로 어떤 종주국 A와, 다른 종주국 B의 속국 B'이 주어지면, A는 B'과 전쟁을 치르는 것이 아니라 B와 전쟁을 치르게 된다."

A가 B와 전쟁을 벌이는데 왜 전쟁의 결과로 B'이 주어지나요?

jaimemin   5년 전

"어떤 종주국 A와 다른 종주국 B의 속국 C가 주어지면 A는 C와 전쟁을 치르는 것이 아니라 B와 전쟁을 치르게 된다"로 수정해야할 것 같네요.

jh05013   5년 전

그러면 B'가 C로 바뀔 뿐 아무것도 해결되지 않습니다. 전쟁은 B와 벌이기 때문에 A와 C를 전쟁의 결과라고 할 수 없습니다.

jaimemin   5년 전

정확한 지적이십니다. 

제가 문제를 풀 당시에는 A와 C의 전쟁 결과가 오면 종주국 A와 C의 종주국 B의 전쟁 결과로 바꾸어서 풀었었습니다.

degurii   5년 전

단순히 이해가 안가시는거면 출제자 입장에선 할 말이 없습니다

누가 내 동생한테 싸움을 걸길래 내가 동생 대신 싸워주겠다!! 라는 느낌인데

구구절절 설명하기는 문장이 너무 길어질 것 같아서 그냥 저렇게 썼습니다.

수정을 원하시는 거면 어떻게 표현하는 게 좋을지 의견을 주실 수 잇을까요?

adh0463   5년 전

문제의 난이도를 높이고자 쓰신 것 같습니다만, 

전제)  단, 속국은 자신의 종주국 이외의 다른 왕국과 전쟁을 치를 수 없다. 

전제에 의하면 속국은 종주국 말고는 전쟁을 치룰 수 없죠 ? 그러면 전쟁 결과로 (속국A, 종주국이 아닌 국가 B)가 주어질 수 없다고 판단됩니다.

그런데 다음 문장을 보면 "전쟁 결과"로 속국 B'가 종주국이 아닌 다른 나라와 전쟁을 했음을 나타냈을 때 (후략..) 라고 나와버리니, 이건 이해가 안된다라기 보단 자체 모순입니다.

"모든 종주국은 자신의 속국이 자신이 아닌 국가와의 전쟁이 발발하면 자신이 다스리는 모든 속국을 동원하여 해당 전쟁에 임한다."

라는 느낌은 어떨까요?

doju   5년 전

문장이 길어질 것 같다고 조건을 두루뭉술하게 쓰는 것보다는 구구절절하게 설명하더라도 정확하게 조건을 전달해서 문제를 성립시키는 것이 훨씬 중요합니다.

저 역시 저 문단을 이해하기 어렵습니다. 문장 그대로 속국이 자신의 종주국 외의 다른 왕국과 전쟁을 치를 수 없다면 A와 B' 간의 전쟁은 성립할 수 없고, 입력으로 주어져서도 안 됩니다.
저 문단이 속국이 싸울 일이 생기면 종주국이 대신 나서서 싸워 준다는 뜻이라면, 같은 종주국을 둔 두 속국 쌍이 입력으로 주어지는 경우는 없나요?

degurii   5년 전

글들을 보니 확실히 설명에 모순이 있는 것 같습니다. 부족한 점이 많네요 ㅜㅜ


"단, 속국은 자신의 종주국 이외의 다른 왕국과 전쟁을 치를 수 없다. 

만약 전쟁의 결과로 어떤 종주국 A와, 다른 종주국 B의 속국 B'이 주어지면, 이는 A와 B'이 전쟁을 치뤘다는 것이 아니라 A가 B'에게 전쟁을 선포했다는 뜻이다. 이런 경우엔 속국을 대신해서 종주국 B가 A와 싸우게 된다고 하고, 승/패는 A, B간의 전쟁의 결과로 주어진다고 한다."


이런 수정은 어떻게 생각하시나요??

doju   5년 전

입력으로 다양한 경우가 등장할 수 있는데, 지금의 조건으로는 결과를 유추할 수 없는 경우가 있어 보입니다. 조건이 완전히 정리되어야 문장을 손볼 수 있을 것입니다.

왕국 A가 왕국 B와 C를, 왕국 D가 왕국 E를 속국으로 삼고 있다고 가정합시다. 다음과 같은 입력이 주어질 수 있나요? 주어진다면 결과는 어떻게 되나요?

1. A와 D가 싸워서 A가 이기는 경우 (두 종주국이 싸우는 경우)
2. A와 E가 싸워서 A가 이기는 경우 (종주국과 다른 종주국의 속국이 싸우고 종주국이 이기는 경우)
3. A와 E가 싸워서 E가 이기는 경우 (종주국과 다른 종주국의 속국이 싸우고 속국이 이기는 경우)
4. A와 B가 싸워서 A가 이기는 경우 (종주국과 그 속국이 싸우고 종주국이 이기는 경우)
5. A와 B가 싸워서 B가 이기는 경우 (종주국과 그 속국이 싸우고 속국이 이기는 경우)
6. B와 C가 싸워서 B가 이기는 경우 (같은 종주국을 둔 두 속국이 싸우는 경우)
7. B와 E가 싸워서 B가 이기는 경우 (다른 종주국을 둔 두 속국이 싸우는 경우)
8. A와 A가 싸워서 A가 이기는 경우 (종주국의 자신과의 싸움)
9. B와 B가 싸워서 B가 이기는 경우 (속국의 자신과의 싸움)

degurii   5년 전



1) D와 D의 속국들이 A의 속국이됩니다

2) E의 종주국과 그 속국들이 A의 속국이됩니다

3) A와 그 속국들이 E의 종주국의 속국이 됩니다

4) 관계변화없습니다

5) A, B와 연관된 속국들(B를 제외한 A의 속국들)과 A가 B의 속국이 됩니다

6) 주어지지 않습니다.

7) 주어지지 않습니다.

8) 주어지지 않습니다.

9) 주어지지 않습니다.

doju   5년 전

수정해 봤습니다.


문제

배성일력 73년, 대륙을 주름잡던 성일 제국은 무리한 정복 전쟁 끝에 멸망하게 되었다. 기회를 노리던 반란군들은 혼란을 틈타 제각각 왕국을 선포했고, 왕국들은 제국의 자리를 차지하기 위해 수많은 전쟁을 치르게 되었다.

전쟁은 다음과 같은 방식으로 진행된다.

다른 왕국의 속국이 아닌 왕국은 자신의 속국이 아닌 다른 왕국을 공격하여 전쟁을 벌일 수 있다. 만약 전쟁에서 승리한다면 그 왕국과 그 왕국의 속국들을 전부 자신의 속국으로 삼게 된다. 때로는 다른 왕국의 속국을 공격하는 경우도 있는데, 이 경우 그 왕국의 종주국(그 왕국을 거느린 왕국)은 그 왕국을 지키기 위해 지원을 아끼지 않는다. 따라서 여기서 승리한다면 빈털터리가 된 종주국과 그 속국들까지도 전부 자신의 속국으로 삼을 수 있다. 그러나 전쟁에서 패배한다면 자신과 자신의 속국들이 전부 상대 왕국(만약 다른 왕국의 속국이라면 그 종주국)의 속국으로 넘어가게 된다.

속국은 기본적으로 다른 왕국을 공격할 수 없지만, 한 가지 예외가 있다. 바로 자신의 종주국을 공격하는 것이다. 만약 이 전쟁에서 속국이 승리한다면 속국 신세에서 벗어나 종주국이었던 왕국과 그 속국들을 속국으로 삼게 된다. 그러나 종주국이 승리한다면 아쉽게도 아무 일도 일어나지 않는다.

왕국들의 이름과 두 왕국의 전쟁 결과들이 주어질 때, 모든 전쟁이 끝난 후 속국이 아닌 왕국들의 수와 속국이 아닌 각 왕국의 이름을 출력하라.

입력

전쟁의 결과로 왕국1의 이름, 왕국2의 이름, w(w = 1 or 2)가 공백 없이 쉼표(,)를 사이에 둔 형식으로 주어지며, w가 1인 경우 왕국1이, 2인 경우 왕국2가 승리했다는 것을 뜻한다. 왕국 이름의 입력 순서는 어느 쪽이 먼저 공격했는지와는 관계가 없으며, 문제 조건에 따라 성립할 수 있는 전쟁만이 입력으로 주어진다.

출력

둘째 줄부터 속국이 아닌 왕국의 이름을 ASCII 사전 순으로 정렬하여 한 줄에 하나씩 출력한다.

degurii   5년 전

오 좋아보이네요..

수정 요청글 올리겠습니다.

감사합니다

startlink   5년 전

수정했습니다.

댓글을 작성하려면 로그인해야 합니다.