• Luogu P1518 两只塔姆沃斯牛 The Tamworth Two


        题解

      一道模拟题, 要注意每分钟可以向前移动或者转弯!!!

      转弯一定是顺时针!!!

      模拟题别读成搜索题!!!

    #include<cstdio>
    using namespace std;
    char dt[15][15];
    int main()
    {
        int i,j,k,fa,co,df=1,dc=1;
        for(i=1;i<=10;i++)
            for(j=1;j<=11;j++)
            {
                scanf("%c",&dt[i][j]);
                if(dt[i][j]=='F'){fa=i*100+j;dt[i][j]='.';}//fa为农夫位置 
                if(dt[i][j]=='C'){co=i*100+j;dt[i][j]='.';}//co为两头牛位置 
            }
        for(k=1;k<=100000;k++)//k为时间 
        {
            if(df==1&&dt[fa/100-1][fa%100]=='.')fa-=100;//df为农夫方向 
            else if(df==2&&dt[fa/100][fa%100+1]=='.')fa+=1;
            else if(df==3&&dt[fa/100+1][fa%100]=='.')fa+=100;
            else if(df==4&&dt[fa/100][fa%100-1]=='.')fa-=1;
            else df+=1;
            if(df>4)df%=4;
            
            if(dc==1&&dt[co/100-1][co%100]=='.')co-=100;//dc为两头牛方向 
            else if(dc==2&&dt[co/100][co%100+1]=='.')co+=1;
            else if(dc==3&&dt[co/100+1][co%100]=='.')co+=100;
            else if(dc==4&&dt[co/100][co%100-1]=='.')co-=1;
            else dc+=1;
            if(dc>4)dc%=4;
            
            if(fa==co)//位置一样输出 
            {
                printf("%d",k);
                return 0;
            }
        }
        printf("0");
        return 0;
    }   

    两只塔姆沃斯牛 The Tamworth Two

  • 相关阅读:
    从安装.net Core 到helloWord(Mac上)
    阿里云-对象储存OSS
    图片处理
    项目中 添加 swift代码 真机调试 错误
    iOS面试总结
    IOS APP配置.plist汇总
    cocoapods安装问题
    iOS8使用UIVisualEffectView实现模糊效果
    ios键盘回收终极版
    ?C++ 缺少参数的默认参数
  • 原文地址:https://www.cnblogs.com/wisdom-jie/p/13620477.html
Copyright © 2020-2023  润新知