제출 #732250

#제출 시각아이디문제언어결과실행 시간메모리
732250vjudge1Političari (COCI20_politicari)C++17
70 / 70
17 ms2696 KiB
#include<bits/stdc++.h>
#define int long long
#define MOD 1000000007
#define all(x) x.begin(),x.end()
#define ff first
#define ss second
#define pb push_back
#define fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);

using namespace std;

int32_t main(){
	fast;
	int n,k;
	cin>>n>>k;
	if(k==1){
		cout<<"1"<<endl;
		return 0;
	}
	if(k==2){
		cout<<"2"<<endl;
		return 0;
	}
	k-=2;
	set<pair<int,int>>s;
	vector<pair<int,int>>v;
	int arr[n+5][n+5];
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++)cin>>arr[i][j];
	}
	int x=1,y=2;
	while(1){
		if(s.count({x,y}))break;
		s.insert({x,y});
		v.pb({x,y});
		int z=x;
		x=y;
		y=arr[y][z];
	}
	if(k<v.size()){
		cout<<v[k].ss<<endl;
		return 0;
	}
	vector<int>v2;
	for(int i=0;i<v.size();i++){
		if(v[i]==make_pair(x,y)){
			k-=i;
			for(int j=i;j<v.size();j++){
				v2.pb(v[j].ss);
			}
			break;
		}
	}
	cout<<v2[k%(v2.size())]<<endl;
}

컴파일 시 표준 에러 (stderr) 메시지

politicari.cpp: In function 'int32_t main()':
politicari.cpp:40:6: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |  if(k<v.size()){
      |     ~^~~~~~~~~
politicari.cpp:45:15: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |  for(int i=0;i<v.size();i++){
      |              ~^~~~~~~~~
politicari.cpp:48:17: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |    for(int j=i;j<v.size();j++){
      |                ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...