結果
問題 | No.232 めぐるはめぐる (2) |
ユーザー |
![]() |
提出日時 | 2015-07-01 01:36:16 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 587 ms / 1,000 ms |
コード長 | 1,866 bytes |
コンパイル時間 | 2,455 ms |
コンパイル使用メモリ | 78,456 KB |
実行使用メモリ | 52,000 KB |
最終ジャッジ日時 | 2024-09-14 12:34:55 |
合計ジャッジ時間 | 9,403 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge6 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.Scanner; import java.util.Set; import java.util.TreeSet; public class Main { public static final int EXP = 3000000; public static void main(String[] args) { Scanner sc = new Scanner(System.in); final int T = sc.nextInt(); final int A = sc.nextInt(); final int B = sc.nextInt(); final int minimum_cost = Math.max(A, B); final int use_cost = T - minimum_cost; final int min_range = Math.min(A, B); if(T < minimum_cost){ System.out.println("NO"); return; }else if(A == 0 && B == 0 && use_cost < 3 && (T % 2) != (minimum_cost % 2)){ System.out.println("NO"); return; }else if(use_cost == 0 && (T % 2) != (minimum_cost % 2)){ System.out.println("NO"); return; } System.out.println("YES"); int limit = min_range, cnt = 0; if((minimum_cost % 2) != (T % 2)){ if(A == 0 && B == 0){ System.out.println(">^"); System.out.println("v"); System.out.println("<"); cnt += 3; }else if(A == 0 || B == 0){ System.out.println(">^"); limit--; cnt++; }else{ System.out.println(">"); System.out.println("^"); limit--; cnt += 2; } } for(int i = 0; i < limit; i++){ System.out.println(">^"); cnt++; } for(int x = min_range + (limit < 0 ? -limit : 0); x < B; x++){ System.out.println(">"); cnt++; } for(int y = min_range + (limit < 0 ? -limit : 0); y < A; y++){ System.out.println("^"); cnt++; } if(limit < 0){ if(A == 0){ System.out.println("v"); }else if(B == 0){ System.out.println("<"); }else{ System.out.println("<v"); } cnt++; } for(int i = cnt; i < T; i += 2){ System.out.println("^"); System.out.println("v"); } } }