zoukankan      html  css  js  c++  java
  • HNUST-1681 机器人走格子(找规律)

    1681: 机器人走格子

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 244  解决: 58
    [提交][状态][讨论版]

    题目描述

    一个长X宽Y的棋盘,有XY个格子。将机器人放在某个格子中,机器人可以沿上、下、左、右四个方向走一步到相邻的格子中,但不会越过棋盘边界。
    问机器人要经过所有的格子至少一次并最终回到起点最少需要多少步?规则允许机器人多次走过同一个格子。对于X=Y=1的情形,我们认为答案为0。

    输入

     
    输入数据的第一行是一个整数T(0<T<=50),测试数据的组数。
    每组测试数据的第一行是两个整数X和Y(0<X,Y<=100)。随后有Y行X个字符,字符‘C’表示格子,‘S’表示起点。

    输出

    对于每一组测试数据,输出需要的最少步数。

    样例输入

    1
    4 4
    CCCC
    CCCC
    CSCC
    CCCC
    

    样例输出

    16
    #include<iostream>
    #include<cstring>
    #include<cstdio>
    const int N = 100 + 5;
    char mat[N];
     
    int main(){
        int T;
        scanf("%d", &T);
        while(T --){
            int n, m;
            scanf("%d %d", &n, &m);
            for(int i = 0; i < m; i++) scanf("%s", mat);
            if(n == 1 && m == 1) puts("0");
            else if(n == 1) printf("%d
    ", 2 * (m - 1));
            else if(m == 1) printf("%d
    ", 2 * (n - 1));
            else if(n % 2 == 0 || m % 2 == 0) printf("%d
    ", n * m);
            else printf("%d
    ", n * m + 1);
        }
        return 0;
    }
     
     
  • 相关阅读:
    ionic之样式bar-assertive
    (?m) 可以让.去匹配换行
    perl 正则前导字符
    ionic之样式bar-energized
    ionic之样式bar-balanced
    ionic之样式bar-calm
    perl /m
    sort_buffer_size:
    Filter plugins ? mutate:
    Codec plugins ? multiline
  • 原文地址:https://www.cnblogs.com/Pretty9/p/7406713.html
Copyright © 2011-2022 走看看