結果

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

ソースコード

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

#include <iostream>
#include <sstream>
#include <vector>
#include <string>
#include <deque>
#include <algorithm>
using namespace std;
int n;
vector<vector<int>> R; // 1-indexed
vector<int> visited; //
// DFS deque<string>
deque<string> dfs(int x) {
deque<string> dq;
dq.push_back("methyl");
visited[x] = 1;
// x
for (int nb : R[x]) {
if (!visited[nb]) {
dq.push_front(")"); // ")"
deque<string> childStr = dfs(nb); //
// dq
for (const auto &s : dq) {
childStr.push_back(s);
}
dq = move(childStr);
dq.push_front("("); // "("
}
}
return dq;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
// n == 1 "methane"
if(n == 1){
cout << "methane";
return 0;
}
// 1-indexed n+1
R.assign(n+1, vector<int>());
visited.assign(n+1, 0);
// n
string dummy;
getline(cin, dummy);
//
for (int i = 1; i <= n; i++){
string line;
getline(cin, line);
istringstream iss(line);
string token;
while(iss >> token) {
// "H"
if(token != "H") {
int j = stoi(token);
R[i].push_back(j);
R[j].push_back(i);
}
}
}
//
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(1) "methane"
ans.pop_back();
ans.push_back("methane");
// deque
for(const auto &s: ans)
cout << s;
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0