阿里310的笔试QAQ

第一题就是不到头不碰比一起走~
#include<iostream>
#include<cstring>
#include<string.h>
#include<iomanip>
using namespace std;
int main()
{
	int n,m,k;//行,列,几次 
	int hang = 0; 
	int lie = 0;
	cin>>n>>m>>k;
	char map[1020][1020]={'0'};
	for(int i = 1; i <= n; i++)
	{
		for(int j = 1; j <= m; j++)
		{
			cin>>map[i][j];
			if(map[i][j] == '@') 
			{
				hang = i;
				lie = j;
			}
		}
	}
	int d[1020] = {0};
	int temp = 1;
	int k1 = k;
	while(k1--)
	{
		char c[7];//方位暂存
		cin>>c[0];
		if(c[0]=='E') 
		{
			d[temp++] = 1;//判东 
			cin>>c[1]>>c[2]>>c[3];
		}
		else if(c[0]=='S')
		{
			d[temp++] = 2;//判南 
			cin>>c[1]>>c[2]>>c[3]>>c[4];
		}
		else if(c[0]=='W')
		{
			d[temp++] = 3;//判西 
			cin>>c[1]>>c[2]>>c[3];
		}
		else if(c[0]=='N')
		{
			d[temp++] = 4;//判北 
			cin>>c[1]>>c[2]>>c[3]>>c[4];
		}
	}
	for(int i = 1; i <= k; i++)
	{
		if(d[i] == 1)
		{
			while(map[hang][lie+1] != '#'&&lie<m)
			{
				lie++;
			}
		}
		if(d[i] == 2)
		{
			while(map[hang+1][lie] != '#'&&hang<n)
			{
				hang++;
			}
		}
		if(d[i] == 3)
		{
			while(map[hang][lie-1] != '#'&&lie>1)
			{
				lie--;
			}
		}
		if(d[i] == 4)
		{
			while(map[hang-1][lie] != '#'&&hang>1)
			{
				hang--;
			}
		}
	}
	cout<<hang<<" "<<lie<<endl;
	return 0;
} 
第二题就没有然后了QAQ,果然签到完了就走
#阿里巴巴##笔试题目#
全部评论
第一题过90是啥情况,检查了好久没检查出来,第二题暴力了过了25
点赞 回复 分享
发布于 2021-03-10 10:58
请问下有leetcode类似题目吗 或者描述下大概题意 提前谢谢楼主啦
点赞 回复 分享
发布于 2021-03-11 14:19
网易雷火
校招火热招聘中
官网直投

相关推荐

跨考小白:本人宣布对美团施行单方面制裁,制裁一个月
投递美团等公司10个岗位
点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务