20250811 baekjoon
This commit is contained in:
parent
a1db4a6823
commit
5a6752ef70
43
code_study/Baekjoon/java/_1931.java
Normal file
43
code_study/Baekjoon/java/_1931.java
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
class Meeting_Hour implements Comparable<Meeting_Hour>{
|
||||||
|
public int start;
|
||||||
|
public int end;
|
||||||
|
|
||||||
|
Meeting_Hour(int start, int end){
|
||||||
|
this.start = start;
|
||||||
|
this.end = end;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int compareTo(Meeting_Hour another){
|
||||||
|
if(this.end == another.end) return this.start - another.start;
|
||||||
|
return this.end - another.end;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class _1931 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
ArrayList<Meeting_Hour> meetingList = new ArrayList<>();
|
||||||
|
int N = sc.nextInt();
|
||||||
|
for(int i=0; i<N; i++){
|
||||||
|
meetingList.add(new Meeting_Hour(sc.nextInt(),sc.nextInt()));
|
||||||
|
}
|
||||||
|
sc.close();
|
||||||
|
|
||||||
|
Collections.sort(meetingList);
|
||||||
|
// meetingList.sort((a,b)->{
|
||||||
|
// if(a.end == b.end) return a.start - b.start;
|
||||||
|
// return a.end - b.end;
|
||||||
|
// });
|
||||||
|
int currentEnd = meetingList.get(0).end;
|
||||||
|
int result = 1;
|
||||||
|
for(int i=1; i<N; i++){
|
||||||
|
if(currentEnd<=meetingList.get(i).start){
|
||||||
|
currentEnd = meetingList.get(i).end;
|
||||||
|
result++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
48
code_study/Baekjoon/python/7569.py
Normal file
48
code_study/Baekjoon/python/7569.py
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
import sys
|
||||||
|
from collections import deque
|
||||||
|
|
||||||
|
input = sys.stdin.readline
|
||||||
|
|
||||||
|
N, M, H = map(int, input().split())
|
||||||
|
visited = [[[-1]*N for _ in range(M)] for _ in range(H)]
|
||||||
|
emptyCount = 0
|
||||||
|
visitCount = 0
|
||||||
|
q = deque()
|
||||||
|
|
||||||
|
tomato = []
|
||||||
|
for z in range(H):
|
||||||
|
tomato.append([])
|
||||||
|
for y in range(M):
|
||||||
|
row = list(map(int, input().split()))
|
||||||
|
tomato[z].append(row)
|
||||||
|
for x in range(N):
|
||||||
|
if row[x] == 1 :
|
||||||
|
q.append((z,y,x))
|
||||||
|
visited[z][y][x] = 0
|
||||||
|
visitCount += 1
|
||||||
|
|
||||||
|
elif row[x] == -1 :
|
||||||
|
emptyCount += 1
|
||||||
|
|
||||||
|
|
||||||
|
dx = [1,-1,0,0,0,0]
|
||||||
|
dy = [0,0,1,-1,0,0]
|
||||||
|
dz = [0,0,0,0,1,-1]
|
||||||
|
dayMax = 0
|
||||||
|
|
||||||
|
while len(q) :
|
||||||
|
cz, cy, cx = q.popleft()
|
||||||
|
|
||||||
|
for i in range(6):
|
||||||
|
nz, ny, nx = cz + dz[i], cy + dy[i], cx + dx[i]
|
||||||
|
if 0<=nz<H and 0<=ny<M and 0<=nx<N and visited[nz][ny][nx] == -1 and tomato[nz][ny][nx] == 0:
|
||||||
|
q.append((nz,ny,nx))
|
||||||
|
visitCount += 1
|
||||||
|
visited[nz][ny][nx] = visited[cz][cy][cx] + 1
|
||||||
|
if visited[nz][ny][nx] > dayMax :
|
||||||
|
dayMax = visited[nz][ny][nx]
|
||||||
|
|
||||||
|
if N*M*H == visitCount + emptyCount :
|
||||||
|
print(dayMax)
|
||||||
|
else :
|
||||||
|
print(-1)
|
||||||
Loading…
x
Reference in New Issue
Block a user