Submission #638394

#TimeUsernameProblemLanguageResultExecution timeMemory
638394NeroZeinPolitičari (COCI20_politicari)C++14
70 / 70
18 ms4052 KiB
#pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include <bits/stdc++.h> #define int long long using namespace std; const int N = 505; int n, k, g[N][N], vis[N][N]; signed main(){ ios::sync_with_stdio(false); cin.tie(nullptr); cin>>n>>k; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>g[i][j]; if (k == 1)return cout<<1,0; k-=2; vis[2][1] = 2; pair<int,int>cur = {2,1}; while(k){ k--; pair<int,int> to = {g[cur.first][cur.second],cur.first}; if (vis[to.first][to.second]&&k>2500){ int len = vis[cur.first][cur.second]-vis[to.first][to.second]+1; k %= len; } vis[g[cur.first][cur.second]][cur.first] = vis[cur.first][cur.second]+1; cur = to; } cout<<cur.first; }
#Verdict Execution timeMemoryGrader output
Fetching results...