728x90
출처 - https://www.acmicpc.net/problem/2448
1.문제
입력
첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (k ≤ 10)
출력
첫째 줄부터 N번째 줄까지 별을 출력한다.
2.
2. 소스 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #include<iostream> #include<string> #include<vector> int main() { //입력 int input; std::cin>>input; std::vector<std::string> arr; std::string space = " "; arr.push_back(" * "); arr.push_back(" * * "); arr.push_back("*****"); //2의 지수의 크기를 구하자 int pow(0),copy(input/3); while(copy>1){ pow++; copy /=2; } //배열을 순환시켜 자기복제를 하게 만든다. int size; while(pow>0){ size = arr.size(); //순환마다 배열의 크기가 달라지므로 매번 새로 구한다. for(int t=0;t<size;t++){ arr.push_back(arr[t]+' '+arr[t]); } for(int t=0;t<size;t++){ for(int i=0;i<size/3;i++) arr[t] = space + arr[t] + space; } pow--; } //출력 for(auto t : arr){ std::cout<<t<<std::endl; } } | cs |
'<백준> > |C++| hard' 카테고리의 다른 글
[C++] 백준 1874 - 스택 수열 (2) | 2019.03.14 |
---|---|
백준 1181 - 단어 정렬(sort에서 compare함수 만들기, vector에서 erase활용) (0) | 2019.03.05 |
백준 6064 - 카잉 달력(최소공약수,최대공배수,삼항연산자) (0) | 2019.02.21 |
백준 2775 - 부녀회장이 될테야(메모이제이션 활용, 파울하버의 공식, 베르누이 수열) (0) | 2019.02.20 |
백준 1011 - Fly me to the Alpha Centauri(재귀호출, sqrt) (0) | 2019.02.19 |