Submission #883811

#TimeUsernameProblemLanguageResultExecution timeMemory
883811vjudge1Političari (COCI20_politicari)C++17
70 / 70
17 ms2672 KiB
#ifndef Local #pragma GCC optimize("O3,unroll-loops") const int lim=2e5+100; #else const int lim=2e3+100; #endif #include "bits/stdc++.h" using namespace std; #define int long long #define pb push_back const int mod=1e9+7; using pii=pair<int,int>; inline void solve(){ int n,k; cin>>n>>k; int a[n+1][n+1]; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cin>>a[i][j]; } } if(k==1){ cout<<1; return; } unordered_map<int,int>all,rev; int now=2,past=1,time=2; while(!all.count(now*n+past)){ if(k==time){ cout<<now<<"\n"; return; } all[now*n+past]=time; rev[time]=now; past=a[now][past]; swap(now,past); time++; } int loopy=all[now*n+past]; k-=loopy; k%=time-loopy; k+=loopy; cout<<rev[k]<<"\n"; } signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL);cout.tie(NULL); #ifdef Local freopen(".in","r",stdin); freopen(".out","w",stdout); #else //freopen("grass.in","r",stdin); //freopen("grass.out","w",stdout); #endif int t=1; //cin>>t; while (t--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...