AtCoder Beginner Contest 274

ABC比赛中的D题,Robot Arms 2,要求机器人不能连续两次走相同方向。最初尝试暴力搜索导致超时,后来发现可分别处理x和y坐标,通过数组和循环实现搜索,但单数组方案引发bug,最终采用两个数组解决方案。
摘要由CSDN通过智能技术生成

ABC均为氵题,略去不谈

D - Robot Arms 2

题干

最开始没有读懂题意,横着走了一次后,必须竖着走,不能连续2次走同一个方向,导致浪费时间,在考试时间里采取了暴搜的方式,导致TLE,希望能改掉暴力的习惯。暴力思维不可取

次日阅读题解,发现可以将x坐标和y坐标分开考虑,因为规定了第一步便是x坐标方向;
接着用一个数组和循环模拟搜索即可,因为前面的状态都可丢去,只要保留是否产生价值即可。题解用的2个数组,我尝试用一个数组,并用int类型的具体值来避免覆盖状态,但导致了其他bug,目前看来还是需要2个数组。

#include<bits/stdc++.h>
#define re register
#define db double
#define ll long long
using namespace std;
inline int read()
{
   
	int x=0,f=1;
	char ch;
	while(ch>'9'||ch<'0')
	{
   
		if(ch=='-')	f=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值