結果
| 問題 | No.323 yuki国 |
| コンテスト | |
| ユーザー |
37zigen
|
| 提出日時 | 2016-03-14 03:17:54 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,479 bytes |
| 記録 | |
| コンパイル時間 | 4,328 ms |
| コンパイル使用メモリ | 85,296 KB |
| 実行使用メモリ | 357,096 KB |
| 最終ジャッジ日時 | 2024-09-25 11:51:35 |
| 合計ジャッジ時間 | 18,647 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 6 |
| other | AC * 24 WA * 8 |
ソースコード
import java.util.ArrayDeque;
import java.util.Date;
import java.util.Queue;
import java.util.Scanner;
public class main{
static class snow{
int x,y,z;
snow(int x,int y,int z){
this.x=x;
this.y=y;
this.z=z;
}
}
static int[] dx={1,0,-1,0};
static int[] dy={0,1,0,-1};
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
long exec_time=new Date().getTime();
int h=sc.nextInt();
int w=sc.nextInt();
int a=sc.nextInt();
int si=sc.nextInt();
int sj=sc.nextInt();
int b=sc.nextInt();
int gi=sc.nextInt();
int gj=sc.nextInt();
boolean[][] map=new boolean[h][w];
for(int i=0;i<h;i++){
String tmp=sc.next();
for(int j=0;j<w;j++){
if(tmp.charAt(j)=='*')map[i][j]=true;
}
}
boolean[][][] used=new boolean[h][w][100000];
Queue<snow> q=new ArrayDeque<>();
q.add(new snow(si,sj,a));
int count=0;
while(!q.isEmpty()){
snow now=q.poll();
count++;
if(count>300000)break;
if(now.x==gi&&now.y==gj&&now.z==b){
System.out.println("Yes");
return;
}
for(int i=0;i<4;i++){
int nextx=now.x+dx[i];
int nexty=now.y+dy[i];
if(nextx>=0&&nextx<h&&nexty>=0&&nexty<w){
int nextz=now.z+(map[nextx][nexty]?1:-1);
if(nextz<=0||nextz>50000||used[nextx][nexty][nextz])continue;
q.add(new snow(nextx,nexty,nextz));
used[nextx][nexty][nextz]=true;
}
}
}
System.out.println("No");
System.err.println(new Date().getTime()-exec_time+"ms");
}
}
37zigen