zoukankan      html  css  js  c++  java
  • 华为机试题——掷骰子游戏

    /*问题描述:  
    在掷骰子游戏中,会根据所掷数字在地图中前进几步,前进完成后需要根据当前地图位置所示的障碍进行相应操作,其中障碍表示: 
    1) 9:无障碍 
    2) 1:停掷一轮,即下轮所掷数字无效; 3) 2:后退两步,如果已经到起点不再后退; 4) 3:奖励前进一步 
    如果在游戏过程中,已经走到地图终点,则游戏结束。根据输入的地图数组,和5个骰子数的数组,返回最终玩家前进了多少步。 
    要求实现函数:  
    void dice(int map_len, int* map, int* dice_val, int* output) 
    【输入】  int map_len,地图数组的长度 
              int* map,地图数组,值表示障碍 
    int* dice_val,5个骰子数的数组 
    【输出】  int *output,玩家共前进了多少步 【返回】  无 
    注:玩家是从起始位置开始,即地图数组的第一位,骰子数只能是1~6 
    示例  
    1) 输入:map_len = 15, map = {9,1,9,9,9,2,9,9,9,9,9,9,9,9,9},dice_val = {1,2,1,3,1}, 
    返回:4 2) 输入:map_len = 16, map = {9,9,9,9,9,1,9,3,9,9,2,9,9,9,9,9},dice_val = {2,1,4,1,6}, 
    返回:15 */
    
    /*
    题意不清!!每次筛子zhi完一次后,是否只执行一次操作??这里假设就一次操作
    */
    #include <iostream>
    using namespace std;
    
    
    void dice(int map_len,int *map,int *dice_val,int* output)
    {
    	int i;
    	int j;
    	j=0;
    	int len=map_len;
    	int suspend=0;
    	for(i=0;i<5;i++)
    	{
    		if(suspend==1)
    		{
    			suspend=0;
    			continue;
    		}
    		j+=dice_val[i];
    		if(j>=len-1)
    		{
    			*output=len-1;
    			return;
    		}
    		if(map[j]==2)
    			j=((j-2<0)?(0):(j-2));
    		else if(map[j]==3)
    		{
    			j+=1;
    			if(j>=len-1)
    			{
    				*output=len-1;
    				return;
    			}
    		}
    		else if(map[j]==1)
    			suspend=1;
    	}
    	*output=j;
    	return;
    }
    int main(void)
    {
    	int map_len=15;
    	int map[15]={9,1,9,9,9,2,9,9,9,9,9,9,9,9,9};
    	int dice_val[5]={1,2,1,3,1};
    	int output;
    	dice(map_len,map,dice_val,&output);
    	cout<<output<<endl;
    	
    
    	int map_len2=16;
    	int map2[16]={9,9,9,9,9,1,9,3,9,9,2,9,9,9,9,9};
    	int dice_val2[5]={2,1,4,1,6};
    	int output2;
    	dice(map_len2,map2,dice_val2,&output2);
    	cout<<output2<<endl;
    	system("pause");
    	return 0;
    }


  • 相关阅读:
    zookeeper历史版本下载
    RabbitMq集群搭建
    spring boot rabbitmq整合rabbitmq之消息持久化存储
    跨域
    Spring注入(IOC):
    AOP
    jsp自定义标签
    配置文件要注意的项
    线程
    URL转码
  • 原文地址:https://www.cnblogs.com/james1207/p/3253708.html
Copyright © 2011-2022 走看看