結果
問題 | No.361 門松ゲーム2 |
ユーザー |
|
提出日時 | 2016-05-29 18:16:15 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 341 ms / 2,000 ms |
コード長 | 823 bytes |
コンパイル時間 | 2,185 ms |
コンパイル使用メモリ | 78,900 KB |
実行使用メモリ | 58,088 KB |
最終ジャッジ日時 | 2024-10-07 17:42:22 |
合計ジャッジ時間 | 8,171 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 28 |
ソースコード
import java.util.Arrays;import java.util.HashSet;import java.util.Scanner;public class Main{public static void main(String[] args){new Main().solve();}void solve(){Scanner sc=new Scanner(System.in);int L=sc.nextInt();int D=sc.nextInt();int[] g=new int[L+1];//g[i]=長さiの竹のみがあるとき、勝つことができるか。for(int len=1;len<=L;len++){HashSet<Integer> hs=new HashSet<>();out:for(int i=1;3*i<len;i++){for(int j=i+1;i+2*j<len;j++){//k>j,len-i-j>j,len>i+2*jint k=len-i-j;if(k-i<=D){hs.add(g[i]^g[j]^g[k]);}}}for(int i=0;;i++){if(!hs.contains(i)){g[len]=i;break;}}}System.out.println(g[L]!=0?"kado":"matsu");}void tr(Object...o){System.out.println(Arrays.deepToString(o));}}