zoukankan      html  css  js  c++  java
  • Gym 101981K

    题目链接:http://codeforces.com/gym/101981/problem/K

    Your friend has made a computer video game called “Kangaroo Puzzle” and wants you to give it a try

    for him. As the name of this game indicates, there are some (at least 2) kangaroos stranded in a puzzle

    and the player’s goal is to control them to gather. As long as all the kangaroos in the puzzle get together,

    they can escape the puzzle by the miraculous power of kangaroos.

    The puzzle is a n × m grid consisting of nm cells. There are walls in some cells and the kangaroos cannot

    enter these cells. The other cells are empty. The kangaroos can move in the following direction: up, down,

    left and right. It is guaranteed that one kangaroo can move from an empty cell to any other. It is also

    guaranteed that there is no cycle in the puzzle — that is, it’s impossible that one kangaroo can move from

    an empty cell, pass by several distinct empty cells, and then back to the original cell.

    There is exactly one kangaroo in every empty cell at the beginning. You can control the kangaroos by

    pressing the button U, D, L, R on your keyboard. The kangaroos will move simultaneously according to the

    button you press. For instance, if you press the button U, a kangaroo would move to the upper cell if it

    exists and is empty; otherwise, the kangaroo will stay still. You can press the buttons for at most 50000

    times. If there are still two kangaroos standing in different cells after 50000 steps, you will lose the game.

    Input

    The first line contains two integers, n and m (1 ≤ n, m ≤ 20), the height and the width of the puzzle,

    respectively. Each of the next n lines contains a (0,1)-string of length m, representing the puzzle. If the

    j-th character of the i+1-th line is 1, then the cell at the i-th row and the j-th column is empty; otherwise

    (i.e. it is 0), the corresponding cell is blocked and cannot be entered.

    Output

    Print a string consisting of U, D, L, R, such that all kangaroos will get together after pressing the buttons

    in the order of this string. The length of the string should not exceed 50000. There are many possible

    valid answers, so just print any of them.

    Examples

    standard input

    4 4

    1111

    1001

    1001

    1110

    standard output

    LLUUURRRDD

    standard input

    2 15

    111111111111111

    101010101010101

    standard output

    ULLLLLLLLLLLLLL

    题意:

    给出 $n imes m(1 le n,m le 20)$ 的迷宫,里面每格 $0$ 代表障碍物,$1$ 代表袋鼠。

    现在你有 $L,R,U,D$ 四种操作,可以使得迷宫内所有的袋鼠统一往左/右/上/下移动一格,袋鼠可以重叠,袋鼠遇到障碍物或者边界则不会移动。

    现在要求你输出一个长度不超过 $5e4$ 的包含 $L,R,U,D$ 的操作序列,使得最后袋鼠全部集中在某一格上。

    题解:

    因为迷宫的规格很小,所以 $50000$ 次操作,每次操作都随机挑选四个方向中的一个走即可。最后袋鼠全部走到一个格子的概率是很大的。

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    int n,m;
    char tmp[23],d[4]={'L','R','U','D'};
    int main()
    {
        srand(6510561);
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++) scanf("%s",tmp);
        for(int i=1;i<=50000;i++) printf("%c",d[rand()%4]);
    }
  • 相关阅读:
    循环结构
    位运算符
    Switch 选择结构
    if结构和逻辑运算符
    变量和运算符
    [luogu1090 SCOI2003] 字符串折叠(区间DP+hash)
    [luogu2329 SCOI2005] 栅栏(二分+搜索)
    [luogu 4886] 快递员
    [luogu4290 HAOI2008]玩具取名(DP)
    [luogu2624 HNOI2008]明明的烦恼 (prufer+高精)
  • 原文地址:https://www.cnblogs.com/dilthey/p/9979397.html
Copyright © 2011-2022 走看看