• 个人简介

    image

    #include<iostream>
    #include<queue>
    #define huhe int
    #define hu_h_e_ for
    #define h using
    #define uh namespace
    #define e std
    #define _huhe const
    #define huhesss return
    #define huhe__ cin
    #define __huhe__ main
    #define huhe_ void
    #define huheh struct
    #define huhehe queue
    #define _h_uhe char
    #define _h_u_h_e_ push 
    #define _huhe_ empty()
    #define h_u_h_e bool
    #define h_uh_e size()
    #define hu_h_e front()
    #define huhep pop()
    #define huh cout
    h uh e;
    struct node{
    	int hu,he,huh;
    };
    queue<node> huhehehe1;
    queue<node> huhehehe2;
    huhe huhen,huhem,
    huhedx[]={1,-1,0,0},
    huhedy[]={0,0,1,-1};
    _h_uhe huhec[52][52];
    huhe huhev[52][52],huhedis[52][52];
    huhe_ hu_he(){
    	huhehehe1._h_u_h_e_((node){1,1,1});
    	huhehehe2._h_u_h_e_((node){huhen,huhem,1});
    	huhev[1][1]=1;
    	huhev[huhen][huhem]=2;
    	huhedis[1][1]=1;
    	huhedis[huhen][huhem]=2;
    	while(!huhehehe1._huhe_||!huhehehe2._huhe_){
    		node huhetop;
    		h_u_h_e huheflag=0;
    		if(huhehehe1.h_uh_e>huhehehe2.h_uh_e){
    			huhetop=huhehehe2.front();
    			huhehehe2.pop();
    		}
    		else{
    			huhetop=huhehehe1.front();
    			huhehehe1.pop();
    			huheflag=1;
    		}
    		hu_h_e_(huhe huhei=0;huhei<4;huhei++){
    			huhe huhexx=huhetop.hu+huhedx[huhei],huheyy=huhetop.he+huhedy[huhei]; 
    			if(huhexx>=1&&huhexx<=huhen&&huheyy>=1&&huheyy<=huhem){
    				if(!huhev[huhexx][huheyy]&&huhec[huhexx][huheyy]=='.'){
    					if(huheflag){
    						huhev[huhexx][huheyy]=1;
    						huhedis[huhexx][huheyy]=huhedis[huhetop.hu][huhetop.he]+1;
    						huhehehe1._h_u_h_e_((node){huhexx,huheyy,huhetop.huh+1});
    					}
    					else{
    						huhev[huhexx][huheyy]=2;
    						huhedis[huhexx][huheyy]=huhedis[huhetop.hu][huhetop.he]+1;
    						huhehehe2._h_u_h_e_((node){huhexx,huheyy,huhetop.huh+1});
    					}
    				}
    				else if(huhev[huhexx][huheyy]+huhev[huhetop.hu][huhetop.he]==3){
    					cout<<huhedis[huhexx][huheyy]+huhedis[huhetop.hu][huhetop.he]-1;
    					exit(0);
    				}
    			}
    		}
    	}
    }
    huhe __huhe__(){
    	huhe__>>huhen>>huhem;
    	hu_h_e_(huhe huhei=1;huhei<=huhen;huhei++){
    		hu_h_e_(huhe huhej=1;huhej<=huhem;huhej++){
    			huhe__>>huhec[huhei][huhej];
    		}
    	}
    	hu_he();
    }
    /*
               ,
              / \
             {   }
             p   !
             ; h ;
             | u |
             | h |
             l e l
             l 之l
             H剑 H
             H ; H
             H ; H
             H ; H
             d | b 
             U | E
             U | E
             U I E
     ,;,     U I E     ,;,
    ;H@U;    ;_H_;,   ;H@E;
    '\H/u_,;|HU@HE|;,_e\H/'
     '\;HHUUU$@@@$HHEEE;/'
       "~~~*;!h@h!;*~~~"
             ;u8u;
             ;h8h;
             ;e8e;
             ;h8h;
             du@ub
             Oh@hO
             Te0eT
              '~' 
    */
    
  • 通过的题目

题目标签

语言基础
37
贪心
18
一维数组
17
其他
15
数据结构
13
二维数组
13
循环语句
12
字符串
10
高精度
8
搜索
8
递归
7
NOIP
7
二叉堆
6
竞赛
6
字符数组
6
位运算
5
排序
5
二分
4
4
Trie
4