Submission #849389

#TimeUsernameProblemLanguageResultExecution timeMemory
849389LTTrungCHLPolitičari (COCI20_politicari)C++17
35 / 70
363 ms524292 KiB
///***LTT***/// /// ->TUYEN QUOC GIA<- /// #include<bits/stdc++.h> #pragma GCC optimize ("O3") #pragma GCC optimize ("unroll-loops") #pragma GCC target("popcnt") #define int long long #define endl "\n" #define F first #define S second #define pb push_back #define CHECKBIT(mask,i) ((mask>>(i) )&1) // == 1 la bat, == 0 la tat #define OFFBIT(mask,i) ((1<<(i))^mask) // tat bit thu i #define ONBIT(mask,i) ((1<<(i))mask) // bat bit thu i using namespace std; const long long oo = 1e9+7; const int N = 2 * 1e5 + 10; int n, a[505][505], k; vector <int> ans; int t[505][505]; bool dd[505][505]; void inp(){ cin >> n >> k; for (int i = 1;i <= n;i++){ for (int j = 1;j <= n;j++){ cin >> a[i][j]; } } return; } void case1(int u,int p,int tt){ // for (int i : ans){ // cout << i << " "; // } // cout <<"\n\n"; // cout << tt <<"\n\n"; int len = tt - t[a[u][p]][a[a[u][p]][u]]; int du =(k - (t[a[u][p]][a[a[u][p]][u]] ) )% len ; // cout << len <<" " << du <<" "<< t[a[u][p]][a[a[u][p]][u]] + du - 1 <<" "<< t[a[u][p]][a[a[u][p]][u]]<<"\n"; cout << ans[(t[a[u][p]][a[a[u][p]][u]] ) + du - 1]; return; } void solve(){ ans.pb(1); ans.pb(2); int tt = 2; dd[1][2] = true; t[1][2] = 1; int p = 1; int u = 2; while (tt <= k){ int preu = u; int prep = p; if (dd[a[u][p]][a[a[u][p]][u]]){ case1(u, p ,tt + 1); return; } t[u][a[u][p]] = tt; u = a[u][p]; p = preu; ans.pb(u); tt++; } // for (int i : ans){ // cout << i << " "; // } // cout <<"\n"; cout << ans[k - 1]; return; } signed main(){ ios_base::sync_with_stdio(NULL); cin.tie(NULL); cout.tie(NULL); if (fopen("file.inp", "r")){ freopen("file.inp", "r", stdin); freopen("file.out", "w", stdout); } //int t; //cin >> t; //while(t--){ inp(); solve(); //} } /* 3 100000 0 3 2 3 0 1 1 2 0 */

Compilation message (stderr)

politicari.cpp: In function 'void solve()':
politicari.cpp:53:13: warning: unused variable 'prep' [-Wunused-variable]
   53 |         int prep = p;
      |             ^~~~
politicari.cpp: In function 'int main()':
politicari.cpp:76:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   76 |         freopen("file.inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
politicari.cpp:77:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   77 |         freopen("file.out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...