답안 #198366

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
198366 2020-01-25T17:14:06 Z alrad Lampice (COCI19_lampice) C++17
17 / 110
1172 ms 3816 KB
#include <bits/stdc++.h>

using namespace std;

const int N = 5e4 + 2;

vector<vector<int> > g(N , vector<int>());
int ans = 0;
string all;
string walk = "";

bool good(string cur) {
   string other = cur;
   reverse(other.begin() , other.end());
   return other == cur;
}

void dfs(int v , int p = -1) {
   walk.push_back(all[v - 1]);
   if (good(walk)) {
      ans = max(ans , (int)walk.size());
   }
   for (int to : g[v]) {
      if (to != p) {
         dfs(to , v);
         walk.pop_back();
      }
   }
}

int main() {
   ios_base :: sync_with_stdio(0);
   cin.tie(0) , cout.tie(0);
   int n;
   cin >> n;
   cin >> all;
   for (int i = 1; i < n; i++) {
      int u , v;
      cin >> u >> v;
      g[u].push_back(v);
      g[v].push_back(u);
   }
   if (n <= 3000) {
      //solve subtask 1
      for (int i = 1; i <= n; i++) {
         walk = "";
         dfs(i);
      }
      cout << ans << '\n';
      return 0;
   }
   return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 1528 KB Output is correct
2 Correct 112 ms 1528 KB Output is correct
3 Correct 446 ms 1580 KB Output is correct
4 Correct 1172 ms 1656 KB Output is correct
5 Correct 3 ms 1528 KB Output is correct
6 Correct 3 ms 1528 KB Output is correct
7 Correct 3 ms 1528 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 21 ms 3580 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 39 ms 3816 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 1528 KB Output is correct
2 Correct 112 ms 1528 KB Output is correct
3 Correct 446 ms 1580 KB Output is correct
4 Correct 1172 ms 1656 KB Output is correct
5 Correct 3 ms 1528 KB Output is correct
6 Correct 3 ms 1528 KB Output is correct
7 Correct 3 ms 1528 KB Output is correct
8 Incorrect 21 ms 3580 KB Output isn't correct
9 Halted 0 ms 0 KB -