on
★ [백준][Java] 2447번 별 찍기 - 10 (분할정복, 재귀)
★ [백준][Java] 2447번 별 찍기 - 10 (분할정복, 재귀)
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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { private static BufferedReader br = new BufferedReader( new InputStreamReader( System . in )); private static BufferedWriter bw = new BufferedWriter( new OutputStreamWriter( System . out )); private static char [][] res; private static void star( int x, int y, int unit, boolean blank) { if (blank) { for ( int i = x; i < x + unit; i + + ) { for ( int j = y; j < y + unit; j + + ) { res[i][j] = ' ' ; } } return ; } if (unit = = 1 ) { res[x][y] = (blank)? ' ' : '*' ; return ; } unit / = 3 ; for ( int i = 0 ; i < 3 ; i + + ) { for ( int j = 0 ; j < 3 ; j + + ) { if (i = = 1 & & j = = 1 ) star(x + i * unit, y + j * unit, unit, true ); else star(x + i * unit, y + j * unit, unit, false ); } } } public static void main( String [] args) throws IOException{ int N = stoi(br.readLine()); res = new char [N][N]; star( 0 , 0 ,N, false ); for ( char [] arr : res) { for ( char c : arr) { bw.write(c); } bw.write( "
" ); } bw.flush(); bw.close(); } private static int stoi( String input) { return Integer. parseInt (input); } } Colored by Color Scripter
from http://aig2029.tistory.com/317 by ccl(A) rewrite - 2021-10-02 23:27:19