top of page

소스 코드 제출

공개·회원 52명

250729

#include<stdio.h>


void search(int xc, int yc);


int arr[102][102] = {{0}};

int n;


int main() {

int x,y,k, x1,x2,y1,y2;

int cnt=0;

int answer[1000] = {0}, answerIdx=0, temp;

scanf("%d %d %d", &y, &x, &k);

for (int i=0; i<x+1; i++) { //가로

arr[0][i] = 1;

arr[y+1][i] = 1;

}

for (int i=0; i<y+1; i++) { //세로

arr[i][0] = 1;

arr[i][x+1] = 1;

}

for (int i=0; i<k; i++) {

scanf("%d %d %d %d", &x1, &y1, &x2, &y2);

// 2번쨰 x,y는 -1하기

for (int j=y1+1; j<y2+1; j++) {

for (int l=x1+1; l<x2+1; l++) {

arr[j][l] = 1;

}

}

}

for (int i=1; i<y+1; i++) {

for (int j=1; j<x+1; j++) {

if (arr[i][j]!=1) {

n=0;

cnt++;

search(i,j);

answer[answerIdx] = n;

answerIdx++;

}

}

}

// 넓이 오름차순으로 만들기

for (int i=0; i<answerIdx; i++) {

for (int l=i+1; l<answerIdx; l++) {

if (answer[i]>answer[l]) {

temp = answer[i];

answer[i] = answer[l];

answer[l] = temp;

}

}

}

printf("%d\n", cnt);

for (int i=0; i<answerIdx; i++) {

printf("%d ", answer[i]);

}

//

// for (int j=0; j<y+2; j++) {

// for (int l=0; l<x+2; l++) {

// printf("%d", arr[j][l]);

// }

// printf("\n");

// }

//


return 0;


}


void search(int xc, int yc) {

if (arr[xc][yc]==1) {

return;

}

arr[xc][yc] = 1;

//printf("x,y 좌표:%d %d\n", xc, yc);

n++;

search(xc,yc+1); // 아래

search(xc+1,yc); // 오른쪽

search(xc-1,yc); // 왼쪽

search(xc,yc-1); // 위, 애는 필요 없을 거 같긴한데

// return;


}


#include<stdio.h>


int main() {


int n, x,y;

// int arr[100002][100002] = {{0}};

// 100000

int arr[100002] = {0};

scanf("%d" ,&n);

for (int i=0; i<n-1; i++) {

scanf("%d %d", &x, &y);

// 1 4 / 2 4

// 부모노드는 1이고 자식 노드는 2로 하자

// y축: 자식 노드, x축 인덱스: 부모노드

// 부모 자식 형태로 들어오는지 체크하자

// 부모 자식처럼 입력된 경우

if (arr[x]!=0) {

arr[y] = x;

//arr[y] = 1;

//printf("부모 자식\n");

}

// 자식 부모처럼 입력된 경우

else if (arr[y]!=0) {

arr[x] = y;

// arr[x] = 1;

// printf("자식 부모\n");

}

else {

// printf("초기\n");

arr[x] = y;

arr[x] = 1;

arr[y] = 1;

}

}

for (int i=2; i<=n; i++) {

printf("%d\n", arr[i]);

}


return 0;


}

7회 조회
주소 : 경기도 용인시 광교중앙로 302 블루 스퀘어 602호
연락처 : 031) 216 - 1546 ,     031) 215 - 1546
사업자등록번호 : 465-92-00916
​학원 등록 제 4603호
bottom of page