본문 바로가기

전체 글

(81)
Section 01 ~ 06 임베디드 시스템마이크로컴퓨터를 탑재한 기계나 장치특징Nature: 자연 법칙의 취급. 외부 변화를 감지하여 마이크로컴퓨터로 처리해 외부로 피드백Input > Processing > Output (IPO)제어 모델이 중요Time: 실시간성의 요구. 속도 보장.하드 리얼타임: 수 밀리초의 데드라인을 확실하게 준수해서 동작할 것을 요구소프트 리얼타임: 조작에 대한 반응이 다소 늦어도 허용됨Constraint: 엄격한 제약 사항. 크기, 무게, 가격, 이용조건, 전력, 발열, 방수, 방진 등Reliability: 높은 신뢰성. 주어진 조건에서 규정된 시간 내에 요구된 기능을 완료해 낼 수 있는 성질 임베디드 소프트웨어임베디드 시스템에 탑재하여 마이크로컴퓨터에서 동작하는 프로그램하드웨어와 어플리케이션 소프트웨어 ..
백준 5014번 스타트링크 https://www.acmicpc.net/problem/5014 아이디어:1. 1697번 숨바꼭질과 같은 2차원 BFS 문제2. Q.pop() 하면서 cur == G인지 검사하고 출력3. vis[2000001]은 해당 층에 도달하기 까지 누른 버튼 횟수 (미로의 넓이와 동일)4. 이동할 때 U는 +로, D는 -로 표현5. 0층은 존재하지 않으므로 continue, 최대층(F)을 넘기면 continue #include #include using namespace std;int vis[2000001];int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int F, S, G, U, D; cin >> F >> S >> G >> U >> D; int ..
백준 2583번 영역 구하기 https://www.acmicpc.net/problem/2583 아이디어:1. 직사각형 k에 대해 board[i][j] = 1 로 하고 2중 for문으로 board[i][j] == 0 && vis[i][j] == 0 을 찾아 큐에 넣으면서 BFS2. 큐에 넣으면서 num++; 넓이로 저장할 area는 큐에서 빼면서 ++한 뒤, area가 0이 아닐 때 벡터 areas에 삽입3. 벡터 areas를 sort()로 정렬해서 num 뒤에 출력 n과 m이 각각 y축, x축을 가리 키는 것에 주의y축에서, 그림을 상하 반전 시켜도 넓이는 그대로이므로문제 그림에 충실해서 for문을 반대로 돌리는 등 별도 처리하지 않아도 된다. #include #include using namespace std;char board[..
백준 5427번 불 https://www.acmicpc.net/problem/5427 아이디어:1. 4179번 불! 을 여러번 수행하는 문제2. bool 형 isPossible을 두어 반복문의 끝에 "IMPOSSIBLE" 출력 여부 검사 #include #include using namespace std;char board[1001][1001];int vis[1001][1001];int fire[1001][1001];int dx[4] = { 1, 0, -1, 0 };int dy[4] = { 0, 1, 0, -1 };int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin >> t; while (t--) { int n, m; cin >> m >> ..
백준 7562번 나이트의 이동 https://www.acmicpc.net/problem/7562 아이디어:1. 방향 dx, dy를 나이트의 이동에 맞게 변경하고 거리를 기록하는 BFSint dx[8] = { 2, 1, -1, -2, -2, -1, 1, 2 }; int dy[8] = { 1, 2, 2, 1, -1, -2, -2, -1 }; #include #include using namespace std;int board[301][301];int vis[301][301];int dx[8] = { 2, 1, -1, -2, -2, -1, 1, 2 };int dy[8] = { 1, 2, 2, 1, -1, -2, -2, -1 };int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); ..