Informatica Online Judge

  파티 [1200 / 04B0]

Time Limit(Test case) : 2000(ms)
Number of users who solved : 56   Total Tried : 67


The Champion of this Problem (C++) : gs14049 - 0ms / 188byte
My Best Submission (C++) : N/A

[JOI(2014/2015예선)]

Background

경곽이는 n명의 친구가 있다. 각 친구를 1부터 n까지라고 하며, 이 n명의 친구들을 불러서 파티를 열었다.

한창 파티가 무르익어가고 있을 때, 친구들과 함께 다음과 같은 게임을 하기로 했다.

처음에 경곽이는 n명의 친구들 중 한 명을 고른다. 이후로 이 친구를 "타겟"이라고 한다.

경곽이는 타겟으로 고른 친구에게, 타겟으로 지정되었음을 알린다.

타겟 이외의 친구들은 누가 타겟인지 알 수 없는 상태이다.

타겟 이외에 친구들은 각각 타겟이 누구인지를 예상하고, 그 사람의 이름을 종이에 쓴다.

타겟인 사람은 자기 자신의 이름을 종이에 쓴다.

모든 사람이 종이에 이름을 쓴 후, 경곽이는 타겟의 이름을 발표한다.

예상이 맞은 사람은 1점을 획득한다. 즉, 타겟은 자기자신의 이름을 적었으므로, 반드시 1점을 얻을 수 있다.

타겟의 이름을 맞추지 못한 사람들은 점수를 얻을 수 없다.

여기에 이름을 맞추지 못한 사람의 수를 X명이라고 할 때, 타겟은 추가적으로 X점을 획득한다.

경곽이와 친구들은 이 게임을 m번 했다. 각각의 친구들에 대해서 m번의 게임의 점수의 합계를 구하는 프로그램을 작성하시오.

Input

첫 번째 줄에는 친구의 수를 나타내는 정수 n이 주어진다.

두 번째 줄에는 경곽이와 친구들이 게임을 한 횟수, m이 주어진다.

세 번째 줄에는 m개의 정수 a1, a2, .. , am이 공백으로 구분되어 주어진다. 이 값들은 i번째 게임의 타겟인 친구를 나타낸다.

네 번째 줄부터, m줄에 걸쳐서 n개의 정수가 공백으로 구분되어 입력된다. 이 값들은 각 게임에서 각 친구들이 타겟이 누구인지를 적은 값을 나타낸다. 타겟은 자기 자신의 이름을 쓴다.

[입력값의 정의역]
3 ≦ n, m ≦ 100

Output

각각의 친구들에 대해서 m번의 게임이 끝난 후 각 학생들의 합계점수를 한 줄에 하나씩 출력한다.

IO Example

입력
3
4
1 2 3 2
1 1 2
3 2 2
1 1 3
2 2 2

출력
3
4
5

* 설명 :
입력예에서 3명의 친구가 4번 게임을 했다.

첫 번째 게임의 타겟은 1이고, 친구 1은 2점, 2는 1점, 3은 0점이 된다.
두 번째 게임의 타겟은 2이고, 친구 1은 0점, 2는 2점, 3은 1점이 된다.
세 번째 게임의 타겟은 3이고, 친구 1은 0점, 2는 0점, 3은 3점이 된다.
네 번째 게임의 타겟은 2이고, 친구 1은 1점, 2는 1점, 3은 1점이 된다.

따라서 친구 1의 합계는 3점, 2는 4점, 3은 5점이다.

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]