zoukankan      html  css  js  c++  java
  • B. Phillip and Trains

     

     

    http://codeforces.com/contest/585/problem/B

     

    模拟

     

     1 
     2 
     3 public class Main {
     4     public static void main(String[] args) {
     5         Scanner io = new Scanner(System.in);
     6         int t = io.nextInt();
     7         int[][]g=new int[400][400];
     8         //不优化的话队列里会有很多重复成员
     9         int[][]vis=new int[400][400];
    10         int[]dy=new int[]{0,1,-1};
    11 
    12         OUT:
    13         while (t-->0){
    14             int x0 =io.nextInt(),k=io.nextInt();
    15             for (int i = 0; i < g.length; i++){ Arrays.fill(g[i],'.');Arrays.fill(vis[i],0);}
    16 
    17             ArrayDeque<int[]>q=new ArrayDeque();
    18             for (int i = 1; i <= 3; i++) {
    19                 String s=io.nextLine();while (s.length()==0)s=io.nextLine();
    20                 for (int j = 0; j < s.length(); j++){
    21                      if ((g[j+1][i]=s.charAt(j))=='s')q.add(new int[]{j+1,i});
    22                 }
    23             }
    24             while (!q.isEmpty()){
    25                 int[]s=q.poll();int x=s[0],y=s[1];
    26 
    27                 //往前走一步
    28                 int xx=x+1,yy=y;
    29                 if (g[xx][yy]>='A'&&g[xx][yy]<='Z')continue ;
    30 
    31                 //往上走、不动、往下走
    32                 for (int i = 0; i < dy.length; i++) {
    33                      yy=y+dy[i];
    34                     if (yy<1||yy>3)continue ;
    35                     if (g[xx][yy]>='A'&&g[xx][yy]<='Z')continue ;
    36                     if (g[xx+1][yy]>='A'&&g[xx+1][yy]<='Z')continue ;
    37                     if (g[xx+2][yy]>='A'&&g[xx+2][yy]<='Z')continue ;
    38 
    39                     if (xx+2>x0){ System.out.println("YES");continue OUT;}
    40                     if (vis[xx+2][yy]==0) {
    41                         q.add(new int[]{xx+2,yy});vis[xx+2][yy]=1;
    42                     }
    43 
    44                 }
    45             }
    46             System.out.println("NO");
    47         }
    48     }
    49   
    50 }

     

  • 相关阅读:
    lsof命令详解
    nmap命令详解
    ss命令详解
    netstat命令详解
    ifup,ifdown命令详解
    playbook部署nginx
    cento7忘记root密码怎么办
    正确关闭selinux
    使用ssh-agent管理私钥
    gitlab中的CI
  • 原文地址:https://www.cnblogs.com/towerbird/p/11238324.html
Copyright © 2011-2022 走看看