传送门 : t a g : 1900 , 思 维 tag :1900,思维 tag:1900,思维
题意给你一个 n ∗ m n*m n∗m的网格,和一个机器人并且给定他的操作路径 D R D R . . . . DRDR.... DRDR....
你可以进行如下置换操作 D D − > D , R R − > R DD->D,RR->R DD−>D,RR−>R
询问能遍历到的多少个点
思路首先判断两个不用判断的情况
- 已经走到终点了,显然你再改变一步就不能走到了
- 只走一个方向 , 显然这个答案就是 n n n
否则我们需要找到 开始能操作的点,即出现 D , R D,R D,R的点,然后就开始计算走到了哪里
显然之前一路走的点是不能再回去了 n ∗ n − i d x ∗ n + i d x n*n -idx*n+idx n∗n−idx∗n+idx,但是可以需要加上已经走过的点
然后再减去,已经走远的点,因为只有 D , R D,R D,R操作,走过了就不回不去了
Mycodevoid solve(){
int n;cin>>n;
string s;cin>>s;
int x1 = 1,y1 = 1;
int stR = 0 ;
int stD = 0 ;
for(auto x : s){
if(x == 'D') x1++,stD = 1;
else y1++ ,stR = 1;
}
if(x1 == n && y1 == n){
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?