728x90
출처
https://www.acmicpc.net/problem/1904
내 풀이
#include<iostream>
using namespace std;
int Tile[1000001];
int N = 0;
int main()
{
Tile[1] = 1;
Tile[2] = 2;
//Tile의 size만큼 for문 반복
for (int i = 3; i < size(Tile); i++)
{
Tile[i] = (Tile[i - 2] + Tile[i - 1]) % 15746;
}
cin >> N;
cout << Tile[N];
}
해설
N = 1 -> 1
N = 2 -> 11 00
N = 3 -> 100 000 001
피보나치 함수처럼 N = N-1 + N-2 공식이 성립된다는걸 찾고 그대로 풀어보았다.
새로 안 것
size()에 대해 알았고 문제가 계속 틀려서 뭐가 문제인지 보니 for문 안에 %15746을 안해줘서 틀렸었다. 문제를 꼼꼼히 읽어야겠다.
'백준 코딩테스트 > 실버' 카테고리의 다른 글
11047) 동전 0 (C++) (0) | 2022.04.20 |
---|---|
9461) 파도반 수열 (C++) (0) | 2022.04.20 |
2667) 단지번호붙이기 (C++) (0) | 2022.04.19 |
9184) 신나는 함수 실행 (C++) (0) | 2022.04.18 |
1003) 피보나치 함수 (C++) (0) | 2022.04.17 |