File tree Expand file tree Collapse file tree 1 file changed +50
-0
lines changed
Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` java
2+ import java.util.* ;
3+ import java.io.* ;
4+ public class Main {
5+ public static void main (String [] args ) throws Exception {
6+ BufferedReader br = new BufferedReader (new InputStreamReader (System . in));
7+ BufferedWriter bw = new BufferedWriter (new OutputStreamWriter (System . out));
8+ StringTokenizer st = new StringTokenizer (br. readLine());
9+ int N = Integer . parseInt(st. nextToken()); // 건물의 개수
10+ int G = Integer . parseInt(st. nextToken()); // 가희가 볼 수 있는 건물의 개수
11+ int D = Integer . parseInt(st. nextToken()); // 단비가 볼 수 있는 건물의 개수
12+ List<Integer > l = new LinkedList<> ();
13+ int diff = (N + 1 ) - (G + D );
14+ if (diff< 0 ){// 그려보니까 이 조건이 상한임.
15+ bw. write(" -1" );
16+ }else {
17+ for (int i= 0 ;i< diff;i++ ){
18+ l. add(1 );
19+ }
20+ if (G >= D ){
21+ for (int i= 1 ;i<= G ;i++ ){
22+ l. add(i);
23+ }
24+ for (int i= D - 1 ;i>= 1 ;i-- ){
25+ l. add(i);
26+ }
27+ }else {
28+ if (G == 1 ){
29+ l. add(0 ,D );
30+ for (int i= D - 1 ;i>= 1 ;i-- ){
31+ l. add(i);
32+ }
33+ }else {
34+ for (int i= 1 ;i<= G - 1 ;i++ ){
35+ l. add(i);
36+ }
37+ for (int i= D ;i>= 1 ;i-- ){
38+ l. add(i);
39+ }
40+ }
41+
42+ }
43+ for (int i: l){
44+ bw. write(i+ " " );
45+ }
46+ }
47+ bw. flush();
48+ }
49+ }
50+ ```
You can’t perform that action at this time.
0 commit comments