sicily9161

来源:互联网 发布:福州seo基础培训 编辑:程序博客网 时间:2024/06/10 00:16

这题断断续续的做了两天。

在落叶萧萧的日子
在黑白与枯黄的世界里
终于迎来一抹粉色
你的眼睛会笑
你好美
第一次见面
第一次要电话
第一次有这种感觉
我已经深深爱上了你
这辈子再也不会爱上别人了
或者说我已经失去爱上别人的能力
那个在一起永不分离的人
我在路上和你相遇了
请放慢你的步伐
我会追到你的



#include#include#include#includeusing namespace std;char a[505][505];int dir[4][2]={{-1,0},{0,1},{1,0},{0,-1}}; //方向,左下右上。int flag[505][505][5];  // 标记int k1[4]={3,2,1,0};   int k2[4]={1,0,3,2};int ans[4];             //计数int main(){    int N,M,i,j,PR,PC,nx,ny,an,forever,d,b[4];    while(scanf("%d%d",&N,&M)!=EOF)    {        memset(ans,0,sizeof(ans));        memset(b,-1,sizeof(b));        for(i=1;i<=N;i++)       // 输入        {            getchar();            for(j=1;j<=M;j++)            {                cin>>a[i][j];            }        }        cin>>PR>>PC;            an=0,forever=-1; //循环标记为负一        for(j=0;j<4;j++)        {            memset(flag,0,sizeof(flag));            ans[j]=0;            i=j;            nx=PR+dir[i][1],ny=PC+dir[i][0];            flag[PR][PC][i]=1;            while(nx<=N && nx>0 && ny<=M && ny>0)     //有无出界            {                if(a[nx][ny]=='C')                {                    i=j;                    break;                }                else if(a[nx][ny]=='.')                {                    ans[j]++;                }                else if(a[nx][ny]=='/')                {                    ans[j]++;                    i=k2[i];                }                else if(a[nx][ny]=='\\')                {                    ans[j]++;                    i=k1[i];                }                ny=ny+dir[i][0],nx=nx+dir[i][1];                if(flag[nx][ny][i]==1) //有无循环                {                    forever=i;                    b[j]=i;                    break;                }                flag[nx][ny][i]=1;            }            if(ans[j]>an)            {                an=ans[j];            }        }        for(i=3;i>=0;i--)        {            if(an==ans[i])            {                d=i;                break;            }        }        an++;        if(forever==-1)        {            if(d==0)                cout<<"L"<<"\n"<<an<<endl;            else if(d==1)                cout<<"D"<<"\n"<<an<<endl;            else if(d==2)                cout<<"R"<<"\n"<<an<<endl;            else                cout<<"U"<<"\n"<<an<<endl;        }        else        {            for(i=3;i>=0;i--)            {                if(b[i]!=-1)                    break;            }            if(b[i]==0)                cout<<"L"<<"\n"<<"Voyager"<<endl;            else if(b[i]==1)                cout<<"D"<<"\n"<<"Voyager"<<endl;            else if(b[i]==2)                cout<<"R"<<"\n"<<"Voyager"<<endl;            else if(b[i]==3)                cout<<"U"<<"\n"<<"Voyager"<<endl;        }    }return 0;}                  




原创粉丝点击