結果
問題 |
No.361 門松ゲーム2
|
ユーザー |
|
提出日時 | 2016-05-28 11:05:39 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,017 bytes |
コンパイル時間 | 2,149 ms |
コンパイル使用メモリ | 77,404 KB |
実行使用メモリ | 54,340 KB |
最終ジャッジ日時 | 2024-10-07 17:17:58 |
合計ジャッジ時間 | 6,869 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 22 WA * 6 |
ソースコード
package yukicoder; import java.util.Arrays; 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(); boolean[] g=new boolean[L+1]; //g[i]=長さiの竹のみがあるとき、勝つことができるか。 for(int len=1;len<=L;len++){ 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*j,i+2*j<len int k=len-i-j; if(isKadomatsu(i,j,k,D)){ if((!g[i])^(!g[j])^(!g[k])){ g[len]=true; break out; } } } } } System.out.println(g[L]?"kado":"matsu"); } void tr(Object...o){ System.out.println(Arrays.deepToString(o)); } //x,y,zは昇順にソートされているとする。 boolean isKadomatsu(int x,int y,int z,int D){ if(z-x>D)return false; if(x==y||y==z||z==x){ return false; }else if(x<y&&y<z){ return true; }else { return false; } } }