牛客输入输出(依图科技)

2020-08-28 依图科技算法笔试 A
这里出现了相对复杂的输入输出,特此记录
具体题目可上牛客搜索

输入:2 表示 2 组测试用例
5 8 中的 5 表示矩阵的边长,8 表示每组测试用例每一步的操作:

2
5 8
L
R
G 10
P
R
R
G 10
P
5 8
L
R
G 10
P
R
R
G 10
P

输出:

Case #1:
0 0 
0 4
Case #2:
0 0 
0 4
import sys
def robotWalk(pos, n, com):
    if com[0] == 'L':
        pos['rot'] -= 90
    elif com[0] == 'R':
        pos['rot'] += 90
    elif com[0] == 'G':
        num_walk = int(com[1])

        if pos['rot'] % 360 == 0:
            if pos['x'] + num_walk <= n - 1:
                pos['x'] += num_walk
            else:
                pos['x'] = n - 1

        elif pos['rot'] % 360 == 90:
            if pos['y'] + num_walk <= n - 1:
                pos['y'] += num_walk
            else:
                pos['y'] = n - 1

        elif pos['rot'] % 360 == 180:
            if pos['x'] - num_walk >= 0:
                pos['x'] -= num_walk
            else:
                pos['x'] = 0

        elif pos['rot'] % 360 == 270:
            if pos['y'] - num_walk >= 0:
                pos['y'] -= num_walk
            else:
                pos['y'] = 0

if __name__ == "__main__":
    T = int(sys.stdin.readline().strip())
    
    for t in range(T):
        print("Case #%d:" % (t + 1))
        # [x, y, rotation]
        start_pos = {
   'x': 0, 'y': 0, 'rot': -90}

        n, m = list(map(int, input().split(" ")))
        for i in range(m):
            # 读取每一行
            line = sys.stdin.readline().strip()
            # 把每一行的数字分隔后转化成int列表
            com = list(map(str, line.split()))
            # print("com:", com)
            robotWalk(start_pos, n, com)
            if com[0] == 'P':
                print(start_pos['x'], start_pos['y'], end='\n')
全部评论

相关推荐

双飞二本嵌入式求拷打我是在&nbsp;BOSS&nbsp;上投递的简历,好多都没人回复,这是开场白和简历求大神帮忙看看。您好!我是2025届应届生,最快可在一周内上岗,能够实习六个月以上,并接受加班。以下是我的核心优势和相关经验:1.&nbsp;嵌入式开发能力:&nbsp;&nbsp;&nbsp;熟练掌握STM32系列单片机及其外设(如GPIO、定时器、ADC、DAC、I2C、SPI、UART等),能够独立完成硬件驱动开发和调试。&nbsp;&nbsp;熟悉FreeRTOS实时操作系统,具备多任务调度和资源管理经验。&nbsp;&nbsp;熟悉LVGL图形库开发,能够实现嵌入式设备的图形界面设计。2.&nbsp;硬件设计能力:&nbsp;&nbsp;&nbsp;具备PCB设计经验,曾为2023年工创赛物流搬运赛道设计小车主板,带领团队获得国家级银奖。&nbsp;&nbsp;&nbsp;熟悉硬件原理图分析,能够快速理解并调试硬件电路。3.&nbsp;机器人开发与竞赛经验:&nbsp;&nbsp;&nbsp;在全国大学生智能车竞赛、ROS机器人竞赛中多次获得国家级奖项,具备丰富的机器人开发经验。&nbsp;&nbsp;&nbsp;熟悉Linux环境,对ROS和ROS&nbsp;2有一定了解,能够进行机器人系统的开发与调试。4.&nbsp;编程能力:&nbsp;&nbsp;&nbsp;熟悉C/C++,熟悉Python,能够高效完成嵌入式开发和算法实现。&nbsp;&nbsp;&nbsp;具备良好的代码规范和文档编写能力。5.&nbsp;团队协作与领导能力:&nbsp;&nbsp;&nbsp;在多个项目中担任核心开发或团队负责人,具备良好的沟通能力和团队协作精神。&nbsp;&nbsp;&nbsp;在工创赛中带领团队完成项目规划、任务分配和技术攻关,展现了较强的领导力。我对嵌入式开发、机器人技术和智能硬件充满热情,期待加入贵公司,与团队共同成长,为公司创造价值!如果有合适的岗位,欢迎随时联系我,期待进一步沟通!
沉淀一会:嵌入式就是狗屎
点赞 评论 收藏
分享
King987:在校生的话建议把在校经历丰富一下,多写一些比赛。项目简介中你的项目描述太长了,多写几个技术点。必须要是亮点让面试官有的问,他就会通过你的简历,自己改一改再投面试会多一些,改不好可以聊我
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务