답안 #583609

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
583609 2022-06-25T18:38:58 Z AGE Političari (COCI20_politicari) C++14
55 / 70
52 ms 3656 KB
#include<bits/stdc++.h>
#define F first
#define S second
#define pb push_back
#define int long long
using namespace std;
const int N=1e6,M=2e3,mod=1e9+7;
int a[510][510];
map<pair<int,int>,int>vis;
vector<pair<int,int>>v;
pair<int,int>ans;
main()
{
    v.clear();
    ans={0,0};
    vis.clear();

    int n,m;
    cin>>n>>m;

    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
            cin>>a[i][j];

    v.pb({0,1});
    v.pb({1,2});

    vis[{0,1}]=1;
    vis[{1,2}]=1;

    while(1){

        int x=v.size()-1;

        if(vis[{v[x].S,a[v[x].S-1][v[x].F-1]}]==1){
            ans.F=v[x].S;
            ans.S=a[v[x].S-1][v[x].F-1];
            break;
        }


        vis[{v[x].S,a[v[x].S-1][v[x].F-1]}]=1;
        v.pb({v[x].S,a[v[x].S-1][v[x].F-1]});

    }


    reverse(v.begin(),v.end());
    while((v.size())&&((*v.rbegin()).F!=ans.F||(*v.rbegin()).S!=ans.S)&&m>0)
        v.pop_back(),m--;


    reverse(v.begin(),v.end());

    int xx=m%v.size();

    if(xx==0)
        xx=v.size();

    xx--;

    assert(v[xx].S>20);
    cout<<v[xx].S<<endl;

    return 0;
}

Compilation message

politicari.cpp:12:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   12 | main()
      | ^~~~
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 468 KB Execution killed with signal 6
2 Correct 9 ms 1108 KB Output is correct
3 Runtime error 33 ms 3656 KB Execution killed with signal 6
4 Correct 46 ms 2052 KB Output is correct
5 Correct 52 ms 2216 KB Output is correct
6 Correct 52 ms 2236 KB Output is correct
7 Runtime error 1 ms 596 KB Execution killed with signal 6
8 Correct 4 ms 724 KB Output is correct
9 Correct 10 ms 1236 KB Output is correct
10 Correct 38 ms 2088 KB Output is correct
11 Correct 47 ms 2268 KB Output is correct
12 Correct 49 ms 2276 KB Output is correct
13 Correct 0 ms 468 KB Output is correct
14 Correct 4 ms 852 KB Output is correct