题解 | #坐标移动#

坐标移动

https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29

package main

import (
	"fmt"
	"strconv"
	"strings"
)

func main() {
	// 答案
	res := [2]int{0, 0}
	var in string
	fmt.Scan(&in)

	t := strings.Split(in, ";")
	for i := 0; i < len(t); i++ {
	  	//  按分号分隔后的每个单词
		str := t[i]
	  	// 提前判断不合格
		if len(str) < 2 {
			continue
		}
	  	// 方向字符
		d := str[0]
		if d == 'A' || d == 'S' || d == 'D' || d == 'W' {
		  	// 将位移量取出
			str = str[1:]
			num, _ := strconv.Atoi(str)
		  	// 进行移动
			switch d {
			case 'A':
				res[0] -= num
			case 'S':
				res[1] -= num
			case 'D':
				res[0] += num
			case 'W':
				res[1] += num
			}
		}
	}
  // 输出答案
	fmt.Printf("%d,%d\n", res[0], res[1])
}

全部评论

相关推荐

03-28 19:11
铜陵学院 C++
有礼貌的山羊追赶太阳:太典了,连笔试都没有开始就因为HC满了而结束了,而且还卡你不让你再投其他部门的。
点赞 评论 收藏
分享
04-18 15:58
已编辑
门头沟学院 设计
kaoyu:这一看就不是计算机的,怎么还有个排斥洗碗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务