문제
옛날 옛적에, N개의 양의 정수를 가지는 수열 A가 있었다. 당신은 수열 자체를 알지는 못하지만 수열의 두 요소의 합은 알 수 있다. 수열 A를 찾아라!
입력
첫째 줄에 양의 정수 N이 주어진다. (3 <= N <= 1000 ) N개의 줄에 N개의 양의 정수가 TABLE S로 주어진다. 각 정수들은 100000 이하이다. TABLE S[ i, j ] 는 A[ i ] +A[ j ] 의 관계가 있다. (i 는 j와 같지 않을 경우에만 해당하고, 만약 i 와 j가 같다면 S[ i, j ] = 0 이다.) S[ i, j ]는 테이블에서 i번째 row와 j번째 column을 의미한다. 그리고 A[ i ] 는 수열 A의 i번째 요소를 의미한다. 어떤 입력 값에 대해서 양의 정수 수열 A는 단 하나 뿐임이 보장된다.
출력
첫째줄에 수열 A를 출력한다. (N개의 양의 정수를 공백을 가지고 출력한다.)
예제 입력
4 0 3 6 7 3 0 5 6 6 5 0 9 7 6 9 0
예제 출력
2 1 4 5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include <stdio.h>
int main() {
int num;
scanf("%d",&num);
int arr[num][num];
for(int i=0; i<num; i++){
for(int j=0; j<num; j++){
scanf("%d",&arr[i][j]);
}
}
int b;
b = (arr[0][1]+arr[1][2]-arr[0][2])/2;
int a;
a = arr[0][1] - b;
printf("%d %d ",a,b);
for(int i=2; i<num; i++){
printf("%d ", arr[1][i]-b);
}
return 0;
}
|
'[C++] 알고리즘 교육 > 5. 기본정렬' 카테고리의 다른 글
[알고리즘 5.3.7] 기본정렬 - combinationzero (0) | 2019.04.25 |
---|---|
[알고리즘 5.3.6] 기본정렬 - combinationpascal (0) | 2019.04.25 |
[알고리즘 5.3.4] 기본정렬 - PROSJEK (0) | 2019.04.25 |
[알고리즘 5.3.3] 기본정렬 - fibonacci (0) | 2019.04.25 |
[알고리즘 5.3.2] 기본정렬 - beehive (0) | 2019.04.25 |
댓글