正经题解|OpenTheDoor
2024-09-25 16:22:34
发布于:浙江
52阅读
0回复
0点赞
OpenTheDoor
题目大意
有三个格子1,2,3
,每个格子当中有一个数字a[i]
代表你下一步去往的格子编号,初始的时候你可以站在x
格当中开始移动,询问是否可以走完三个格子1,2,3
。
思路解析
我们可以设定一个变量Now_it
来代表当前所在的格子,并且设定一个变量Count
来统计行走的次数,随后不停的把Now_it
变更为下一步要前往的坐标a[Now_it]
,直到a[Now_it]
为0代表结束。
时间复杂度
代码演示
/*
Yuilice今天睡饱了吗?
*/
#include<iostream>
using namespace std;
int main()
{
int t;
cin >> t;
while(t--){
int Now_it;
int a[4];
int Count = 0 ;
cin >> Now_it;
for(int i = 1 ; i <= 3 ; i ++ )cin >> a[i];
while(Now_it)
{
Count ++ ;
Now_it = a[Now_it] ;
}
if(Count == 3)cout << "YES" << endl;
else cout << "NO" << endl;
}
return 0;
}
这里空空如也
有帮助,赞一个