zoukankan      html  css  js  c++  java
  • 洛谷 P1518 两只塔姆沃斯牛

    P1518 两只塔姆沃斯牛 The Tamworth Two 

    简单的模拟题,代码量不大。

    他们走的路线取决于障碍物,可以把边界也看成障碍物,遇到就转,枚举次,因为100 * 100 * 4,只有4个可能在一个格子里面走,上下左右,按照给定的方式枚举,如果相遇就输出,没有就输出不可相遇。

    (1) 边界看成障碍物,都变成 * 号就好了。

    (2) 然后定义两个表示方向的数组

    int dx[5]={-1,0,1,0};
    int dy[5]={0,1,0,-1};

    分别代表上右下左(顺时针)

    (3) 立两个flag:flag_F表示F现在的方向,flag_C同理。

    (4) 找出F和C的初始位置。

    (5) 然后开始枚举每一分钟的情况,要看清楚题目里说明了转弯需要花费时间,循环枚举。

    #include <algorithm>
    #include <iostream>
    #include <cstring>
    #include <cstdio>
    using namespace std;
    int dx[5]={-1,0,1,0};
    int dy[5]={0,1,0,-1};
    char map[22][22];
    int cx,cy,fx,fy,flag_C,flag_F;
    int main()
    {
        flag_C=flag_F=0;
        for(int i=0;i<=11;i++)    //边界直接定义为障碍 
            map[0][i]='*',map[i][0]='*',map[11][i]='*',map[i][11]='*';
        
        for(int i=1;i<=10;i++)        //输入
            for(int j=1;j<=10;j++)
                cin>>map[i][j];
        
        for(int i=1;i<=10;i++)    //查找 F和 C的位置。 
        {
            for(int j=1;j<=10;j++)
            {
                if(map[i][j]=='C')cx=i,cy=j,map[i][j]='.';
                if(map[i][j]=='F')fx=i,fy=j,map[i][j]='.';
            }
        }
        for(int i=1;i<=400000;i++)    //循环枚举 
        {
            if(map[cx+dx[flag_C]][cy+dy[flag_C]]!='*')
                cx=cx+dx[flag_C],cy=cy+dy[flag_C];
            else flag_C++,flag_C%=4;
            
            if(map[fx+dx[flag_F]][fy+dy[flag_F]]!='*')
                fx=fx+dx[flag_F],fy=fy+dy[flag_F];
            else flag_F++,flag_F%=4;
            
            if(fx==cx&&fy==cy)
            {
                printf("%d",i);
                return 0;
            }
    //        cout<<"F:"<<fx<<" "<<fy<<" and "<<"C:"<<cx<<" "<<cy<<"
    ";
        }
        printf("0")
    }
  • 相关阅读:
    k8s 基础 pod操作
    python 字典 get 小例子
    linux 日志
    python 基础 文件操作
    k8s 基础 k8s架构和组件
    k8s 基础 核心概念
    HDU1272--小希的迷宫(并查集)
    POJ1182--食物链(经典并查集)并查集看不出来系列2
    HDU 3038 How Many Answers Are Wrong (并查集)---并查集看不出来系列-1
    二分快速幂
  • 原文地址:https://www.cnblogs.com/rmy020718/p/9501548.html
Copyright © 2011-2022 走看看