3809. 화섭이의 정수 나열
3809. 화섭이의 정수 나열 나는 그냥 N이 1000개가 최대이기 때문에, 1000의 자리 수 이전에서 최소값이 무조건 발생한다고 생각했다. 즉, N=1000 이 되어 숫자가 1000개가 있을 때 숫자가 1000개가 생길 것이다. 그렇다고 할때 수가 1개인 예를 들어 0,1,2,3,4~,9 는 1000개가 나오게 된다. 수가 2개인 예를 들어 10,11,..,99 는 999개가 나오게 된다. 수가 3개인 100,101,...999 는 998개가 나오게 된다. 수가 4개인 1000,1001,...9999는 997개가 나오게 된다. 즉 수가 4개인 값들은 997개가 나와도 절대 1000~9999를 다 나타낼 수 없기 때문에 최소값이 무조건 발생하게 된다. 나는 이점을 이용해서 main 에서 for문을 4까..
더보기
3967번
3967번 - 매직 스타 백트래킹 문제로 사용하지 않은 알파벳을 A부터 L까지 전부 사용하면서 문제를 풀었다. 6곳을 모두 체크해야하는데, 그냥 이차원 배열로 체크하도록 선언을 미리 했다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485#include#includeusing namespace std; char map[5][9];int dx[6][4] = { {1,1,1,1},{3,3,3,3},{0,1,2,3},{0,1,2,3},{1,2,3,4},{1,2,3,4} };..
더보기
7562번
7562번 - 나이트의 이동 나이트가 한번에 이동할 수 있는 경로를 모두 체크하는 dx,dy 배열을 만들고 BFS를 사용하면 된다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152#include#includeusing namespace std; int dx[8] = { 1,2,2,1,-1,-2,-2,-1 };int dy[8] = { -2,-1,1,2,2,1,-1,-2 }; int main(){ ios::sync_with_stdio(false); cin.tie(NULL); int tc; cin >> tc; for (int t = 1; t > n >> sx >> sy >> ex >> e..
더보기