B
来源:互联网 发布:零基础学编程需要多久 编辑:程序博客网 时间:2024/04/30 07:25
B - Trained?
Time limit : 2sec / Memory limit : 256MB
Score : 200 points
Problem Statement
Takahashi wants to gain muscle, and decides to work out at AtCoder Gym.
The exercise machine at the gym has N buttons, and exactly one of the buttons is lighten up. These buttons are numbered 1 through N. When Button i is lighten up and you press it, the light is turned off, and then Button ai will be lighten up. It is possible that i=ai. When Button i is not lighten up, nothing will happen by pressing it.
Initially, Button 1 is lighten up. Takahashi wants to quit pressing buttons when Button 2 is lighten up.
Determine whether this is possible. If the answer is positive, find the minimum number of times he needs to press buttons.
Constraints
- 2≤N≤105
- 1≤ai≤N
Input
Input is given from Standard Input in the following format:
Na1a2:aN
Output
Print −1 if it is impossible to lighten up Button 2. Otherwise, print the minimum number of times we need to press buttons in order to lighten up Button 2.
Sample Input 1
3312
Sample Output 1
2
Press Button 1, then Button 3.
Sample Input 2
43412
Sample Output 2
-1
Pressing Button 1 lightens up Button 3, and vice versa, so Button 2 will never be lighten up.
Sample Input 3
533424
Sample Output 3
3
#include <iostream>using namespace std;int main(){ int n; int a[100000+100]; int b[100000+100]; while(cin>>n){ memset(b,-1,sizeof(b)); for(int i=1;i<=n;i++){ cin>>a[i]; b[i]=0; } int flag=0; int k=0; int i=1; while(1){ if(b[i]==0){ b[i]=1; k++; i=a[i]; if(i==2){ flag=1; break; } } else if(b[i]==1){ flag=0; break; } } if(flag==0) cout<<-1<<endl; else cout<<k<<endl; } return 0;}
- b
- b
- b
- //b
- B
- b
- B
- B
- B
- B
- b
- B
- B
- B
- B
- B
- B
- b
- 软件端口
- leetcode 541. Reverse String II 简单题也得多刷刷
- 浏览器端用JS创建和下载文件
- HDFS--机架感知
- python challenge 8
- B
- springmvc拦截器
- 51Nod-1425-减减数
- RCPND和中断未决寄存器INTPND以及外部中断未决寄存器EINTPEND分析
- htc vive 中SteamVR Plugins入门之抓取物体、投掷
- Leetcode-Remove Duplicates from Solided Array
- JMS 发布/订阅消息
- 使用异步消息机制在子线程中更新UI
- Java+Selenium3方法篇23-iframe切换的问题