Submission

Status:

[-SSSSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: qweqwe

Problemset: forex

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-22 16:22:13

#include <bits/stdc++.h>
#define speed cin.tie(0)->sync_with_stdio(0)
#define ll long long
#define db long double
#define pii pair<int,int>
#define INF 1e9
using namespace std;

vector<vector<db>> moner(31,vector<db>(31));
vector<vector<db>> dis(31,vector<db>(31,-INF));
int n;
bool printt=0;

void dfs(int x,int st,int level,db m){
	if (level>n) return;
	if (x==st && level>1){
		printt=1;
		cout << st+1 << " " << level-1;
		return;
	}
	for (int i=0;i<n;i++){
		if (x!=i){
			db sum=m*moner[x][i];
			if (dis[x][i]<sum){
				dis[x][i]=sum;
				dfs(i,st,level+1,sum);
			}
		}
	}
}

int main(){
	speed;
	cin >> n;
	for (int i=0;i<n;i++){
		for (int j=0;j<n;j++){
			cin >> moner[i][j];
		}
	}
	for (int i=0;i<n;i++){
		if (!printt)dfs(i,i,1,1);
		else break;
	}
	if (!printt) cout << -1;
	/*
	for (int i=0;i<n;i++){
		for (int j=0;j<n;j++){
			db a=dis[i][j];
			cout << fixed << setprecision(2) << a << " ";
		}cout << "\n";
	}
	*/
	return 0;
}