[水]ZOJ1091

来源:互联网 发布:java获取本周的第一天 编辑:程序博客网 时间:2024/06/05 03:33
跳马,knight我当成 象 了,wlgq,直接爆搜1A
#include <bits/stdc++.h>using namespace std;char ch1,ch2,ch;int stx,sty,edx,edy;int vis[10][10];const int movx[8]={1,2 ,2,1,  -1,-2, -1,-2};const int movy[8]={2,1 ,-1,-2, -2,-1, 2,1};void dfs(int x,int y, int mov){    if (x>8||x<=0||y>8||y<=0||vis[x][y]<=mov)        return;    vis[x][y]=min(vis[x][y],mov);    for (int i=0;i<8;i++)    {        int temx=x+movx[i];        int temy=y+movy[i];        dfs(temx,temy,mov+1);    }    return ;}void Gao(){    stx=ch1-'a'+1;    edx=ch2-'a'+1; //   cout<<stx<<" "<<sty<<" "<<edx<<" "<<edy<<endl;    memset(vis,10000,sizeof(vis));    dfs(stx,sty,0);    printf("To get from %c%d to %c%d takes %d knight moves.\n",           ch1,sty,ch2,edy,vis[edx][edy]);}int main(){  //  freopen("a.in","r",stdin);    while (scanf("%c%d %c%d%c",&ch1,&sty,&ch2,&edy,&ch)!=EOF)        Gao();    return 0;}


0 0
原创粉丝点击