Submission #731452

#TimeUsernameProblemLanguageResultExecution timeMemory
731452eneskavPolitičari (COCI20_politicari)C++17
10 / 70
22 ms4204 KiB
#include <iostream> #include <vector> #include <cstring> #define int long long using namespace std; #define fastio \ ios_base::sync_with_stdio(false); \ cin.tie(NULL); \ cout.tie(NULL); signed main() { fastio; 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 <= 2) { cout << k; return 0; } int vis[n + 1][n + 1]; memset(vis, 0, sizeof(vis)); int p = 0, c = 1; vector<int> v; v.push_back(1); a[c][p] = 2; int cycle = 0; for (int i = 1; i < k * 3; ++i) { int t = c; c = a[c][p]; p = t; if (vis[c][p]) { cycle = vis[c][p]; v.pop_back(); break; } vis[c][p] = i; v.push_back(c); } // print v /* for (auto i : v) cout << i << " "; cout << endl; */ --cycle; // cout << "cycle " << cycle << endl; // cout << "cycle length " << v.size() - cycle << endl; if (k < v.size()) { cout << v[k - 1]; return 0; } cout << v[((k - cycle) - 1) % (v.size() - cycle)]; return 0; }

Compilation message (stderr)

politicari.cpp: In function 'int main()':
politicari.cpp:52:8: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |  if (k < v.size())
      |      ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...