#include
#include
main() {
int N;
scanf("%d", &N);
int** arr = (int**)malloc(sizeof(int) * N);
for (int j = 0; j < N; j++) {
arr[j] = (int*)malloc(sizeof(int) * 2);
}
for (int i = 0; i < N; i++) {
scanf("%d %d", &arr[i][0], &arr[i][1]);
}
for (int k = 0; k < N; k++) {
int rank = 1;
{for (int l = 0; l < N; l++) {
if(arr[k][0] < arr[l][0] && arr[k][1] < arr[l][1]){ rank++; }
}
printf("%d ", rank); }
}
free(arr);
}
또한 동적할당을 사용한 이코드는 왜 런타임에러가 뜨는지 궁금합니다.
unlimit13 3년 전
입력을
5
3 2
4 3
6 6
3 2
4 1
로 넣으면 출력이 3 2 1 3 2 로 나오는데 정답은 4 2 1 4 2 가 되어야하는거 아닌가요..?
정답은 맞다고 나오는데 궁금해서 여쭤봅니다.