Submission

Status:

[-SSSSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: qweqwe

Problemset: forex

Language: cpp

Time: 0.002 second

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

#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));
int n;
bool printt=0;

void dfs(int x,int st,int level,db m){
	if (level>n) return;
	if (x==st && level>1){
		//cout << st+1 << " " << level-1 << " " << m << "\n";
		if (m>=(db)1.01 && !printt){
			printt=1;
			cout << st+1 << " " << level-1;
		}
		return;
	}
	for (int i=0;i<n;i++){
		if (x!=i){
			db sum=m*moner[x][i];
			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;
}
/*
3
1.00 1.20 0.89
0.45 1.00 5.10
1.10 0.50 1.00
*/