제출 #1091110

#제출 시각아이디문제언어결과실행 시간메모리
1091110vjudge1Sailing Race (CEOI12_race)C++17
0 / 100
174 ms2792 KiB
#include <iostream>
#include <vector>
using namespace std;

const int N = 505;
int n, md[N][N], mdc[N][N], ed[N][N], edc[N][N];
vector <int> graph[N];

signed main() {
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	char c;
	cin >> n >> c;
	for (int i = 0; i < n; i++) {
		int m;
		do {
			cin >> m;
            graph[i].push_back(m - 1);
		} while (m);
	}
	for (int sz = 1; sz <= n; sz++) {
		for (int i = 0; i < n; i++) {
			for (int &B : graph[i]) {
				int A = (i + sz) % n;
				if ((B + n - i) % n < sz) {
					if (md[B][A] > 0 && md[B][A] >= md[i][A]) md[i][A] = md[B][A] + 1;
					if (ed[B][A] >= ed[i][A]) ed[i][A] = ed[B][A] + 1;
					if (edc[B][i] >= edc[i][A]) edc[i][A] = edc[B][i] + 1;
				}
				A = (i + n - sz) % n;
				if ((i + n - B) % n < sz) {
					if (mdc[B][A] > 0 && mdc[B][A] >= mdc[i][A]) mdc[i][A] = mdc[B][A] + 1;
					if (edc[B][A] >= edc[i][A]) edc[i][A] = edc[B][A] + 1;
					if (ed[B][i] >= ed[i][A]) ed[i][A] = ed[B][i] + 1;
				}
			}
		}
	}
	int mx = 0, mxi;
	for (int i = 0; i < n - 1; i++) {
		if (ed[i][i] > mx) {
			mx = ed[i][i];
			mxi = i;
		}
		if (edc[i][i] > mx) {
			mx = edc[i][i];
			mxi = i;
		}
	}
	cout << mx << '\n' << mxi + 1;
	return 0;
}

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

race.cpp: In function 'int main()':
race.cpp:50:30: warning: 'mxi' may be used uninitialized in this function [-Wmaybe-uninitialized]
   50 |  cout << mx << '\n' << mxi + 1;
      |                              ^
#Verdict Execution timeMemoryGrader output
Fetching results...