比赛 2024暑假C班集训8 评测结果 AAAATTTTTT
题目名称 玻璃球游戏 最终得分 40
用户昵称 彭欣越 运行时间 6.057 s
代码语言 C++ 内存使用 5.62 MiB
提交时间 2024-07-08 11:19:42
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int n,q,e[300010],mk[300010];
int main () {
    freopen("marbles.in","r",stdin);
    freopen("marbles.out","w",stdout);
    cin >> n;
    for (int i=1;i<=n;i++) {
        cin >> e[i];
        //cout << e[i] <<' '<< i <<endl;
    }
    cin >> q;
    while (q--) {
        int a,b;
        cin >> a >> b;
        if (a==1) {
            int t=b;
            mk[b]=1;
            //cout << t <<endl;
            for (int i=e[b];;i=e[i]) {
                //cout << i <<endl;
                if (i==0) {
                    cout << t <<endl;
                    break;
                }
                if (mk[i]==1) {
                    cout << "CIKLUS" <<endl;
                    break;
                }
                t=i;
                mk[i]=1;
            }
            //cout <<endl;
            memset(mk,0,sizeof(mk));
        }else{
            e[b]=0;
        }
    }
    return 0;
}