• UVa 10377


    題目:一個機器人在迷宮中行走,它的指令是方向控制(前進、左轉、右轉)。給你初始位置和一些指令;

                問最後停在那個位置。

    分析:模擬。直接模擬就可以,注意一下細節。

                假设,不能行走(邊界或者是墻壁)則停在原地,指令是到達'Q'结束。

    說明:注意多组输出之间有一个换行,不然会WA,UVa这个PE算WA╮(╯▽╰)╭。

    #include <cstring>
    #include <cstdio>
    
    char maps[62][62];
    char towards[5] = "NESW";
    int  dxy[4][2] = {-1,0,0,1,1,0,0,-1};
    
    int main()
    {
    	int  R,C,T,X,Y,F,x,y;
    	char command;
    	scanf("%d",&T);
    	while (T --) {
    		scanf("%d%d",&R,&C);
    		getchar();
    		for (int i = 0; i < R; ++ i)
    			gets(maps[i]);
    		scanf("%d%d",&X,&Y);
    		F = 0; X --; Y --;
    		while ((command = getchar()) != 'Q') {
    			if (command == 'R') 
    				F = (F+1)%4;
    			else if (command == 'L') 
    				F = (F+3)%4;
    			else if (command == 'F') {
    				x =  X+dxy[F][0];
    				y =  Y+dxy[F][1];
    				if (x >= 0 && x < R && y >= 0 && y < C && maps[x][y] != '*') {
    					X = x;
    		 			Y = y;
    				}
    			}
    		}
    		printf("%d %d %c
    ",X+1, Y+1, towards[F]);
    		if (T) printf("
    ");
    	}
        return 0;
    }
    


  • 相关阅读:
    (7)排序之归并排序
    (5)排序之简单选择排序
    (4)排序之希尔排序
    (3)排序之直接插入排序
    (2)排序之快速排序
    (1)排序之冒泡排序
    Python学习
    centos下docker网络桥接
    docker下搭建gitlab
    centos版本7以上网卡名修改
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5362221.html
Copyright © 2020-2023  润新知