15685번: 드래곤 커브
첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커
www.acmicpc.net
[난이도] Gold4
[유형] 시뮬레이션 (삼성SW기출)
[풀이]
시키는대로 하자
#include <cstdio> #include <vector> #include <algorithm> using namespace std; int dy[4] = {0,-1,0,1}; int dx[4] = {1,0,-1,0}; int N; bool map[102][102]; int main(){ scanf("%d",&N); for(int dc=0;dc<N;dc++){ int x,y,d,g; scanf("%d%d%d%d",&x,&y,&d,&g); vector<int> seq(1); for(int i=0;i<g;i++){ int sz = seq.size(); for(int j=sz-1;j>=0;j--) seq.push_back((seq[j]+1)%4); } map[y][x] = 1; for(int v : seq) { v=(v+d)%4; y+=dy[v]; x+=dx[v]; map[y][x] = 1; } } int ans = 0; for(int i=0;i<100;i++){ for(int j=0;j<100;j++){ if(map[i][j]&&map[i+1][j]&&map[i+1][j+1]&&map[i][j+1]) ans++; } } printf("%d",ans); }
github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Gold4/15685.cpp
'Problem-Solving > BOJ' 카테고리의 다른 글
[BOJ/백준][Gold4] 1647 : 도시 분할 계획(C++) (0) | 2020.12.13 |
---|---|
[BOJ/백준][Gold4] 16235 : 나무 재테크(C++) (0) | 2020.12.13 |
[BOJ/백준][Gold4] 14002 : 가장 긴 증가하는 부분수열 4 (C++) (0) | 2020.12.13 |
[BOJ/백준][Gold4] 13913 : 숨바꼭질4 (C++) (0) | 2020.12.13 |
[BOJ/백준][Gold4] 1351 : 무한 수열 (C++) (0) | 2020.12.13 |