結果

問題 No.2820 Non-Preferred IUPAC Nomenclature
ユーザー D M
提出日時 2025-02-12 10:43:04
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
TLE  
実行時間 -
コード長 2,846 bytes
コンパイル時間 1,807 ms
コンパイル使用メモリ 121,904 KB
実行使用メモリ 118,740 KB
最終ジャッジ日時 2025-02-12 10:43:19
合計ジャッジ時間 14,430 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 19 TLE * 3
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <deque>
#include <algorithm>
using namespace std;
int n; //
vector<vector<int>> R; // 1-indexed
vector<int> visited; // 1-indexed
// DFS x deque<string>
deque<string> dfs(int x) {
deque<string> dq;
// x "methyl"
dq.push_back("methyl");
visited[x] = 1;
// x
for (int nxt : R[x]) {
if (!visited[nxt]) {
// ")"
dq.push_front(")");
//
deque<string> sub = dfs(nxt);
// deque dq
for (const string &s : dq) {
sub.push_back(s);
}
// deque dq
dq = move(sub);
// "(" "("
dq.push_front("(");
}
}
return dq;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
//
cin >> n;
cin.ignore(); //
// 1-indexed
R.resize(n + 1);
visited.assign(n + 1, 0);
//
// "H"
for (int i = 1; i <= n; i++){
string line;
getline(cin, line);
istringstream iss(line);
string token;
while (iss >> token) {
if (token != "H") {
int j = stoi(token);
//
R[i].push_back(j);
R[j].push_back(i);
}
}
}
// Python list(set(...))
for (int i = 0; i <= n; i++){
sort(R[i].begin(), R[i].end());
R[i].erase(unique(R[i].begin(), R[i].end()), R[i].end());
}
// DFS 1
deque<string> ans = dfs(1);
// DFS deque
if (!ans.empty()) {
ans.pop_back();
}
// "methane"
ans.push_back("methane");
// deque
string output;
for (const string &s : ans) {
output += s;
}
cout << output << "\n";
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0