QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#372034 | #2428. Comma Sprinkler | UFRJ# | AC ✓ | 207ms | 34636kb | C++20 | 1.5kb | 2024-03-30 19:50:32 | 2024-03-30 19:50:32 |
Judging History
answer
#include "bits/stdc++.h"
using namespace std;
using lint = int64_t;
int main(void) {
cin.tie(nullptr)->sync_with_stdio(false);
vector<string>t;
string s;
while(cin>>s) t.push_back(s);
int n = (int)t.size();
vector<bool>dot(n);
map<string, int>id;
vector<int>line_id(n);
vector<int>v;
for(int i=0;i<n;i++){
bool ok = false;
if(t[i].back() == '.'){
dot[i] = 1;
t[i].pop_back();
}
else if(t[i].back() == ','){
ok = true;
t[i].pop_back();
}
if(!id.count(t[i])){
id[t[i]] = id.size();
}
line_id[i] = id[t[i]];
if(ok) v.push_back(line_id[i]);
}
int m = (int)id.size();
vector<vector<int>>g(m+m);
vector<bool>vis(m+m);
for(int i=1;i<n;i++){
if(dot[i-1]) continue;
int j = line_id[i-1], k = line_id[i];
g[j].push_back(k+m);
g[k+m].push_back(j);
}
auto dfs = [&](auto& self, int u)->void {
vis[u] = 1;
for(int v : g[u]){
if(vis[v]) continue;
self(self, v);
}
};
for(int i : v){
if(!vis[i]) dfs(dfs, i);
}
for(int i=0;i<n;i++){
if(dot[i]){
t[i] += '.';
continue;
}
if(vis[line_id[i]]){
t[i] += ',';
}
}
cout<<t[0];
for(int i=1;i<n;i++) cout<<" "<<t[i];
cout<<"\n";
return 0;
}
Details
Test #1:
score: 100
Accepted
time: 1ms
memory: 3772kb
Test #2:
score: 0
Accepted
time: 1ms
memory: 3612kb
Test #3:
score: 0
Accepted
time: 1ms
memory: 3592kb
Test #4:
score: 0
Accepted
time: 0ms
memory: 3652kb
Test #5:
score: 0
Accepted
time: 0ms
memory: 3584kb
Test #6:
score: 0
Accepted
time: 38ms
memory: 26092kb
Test #7:
score: 0
Accepted
time: 101ms
memory: 31456kb
Test #8:
score: 0
Accepted
time: 101ms
memory: 31508kb
Test #9:
score: 0
Accepted
time: 1ms
memory: 3596kb
Test #10:
score: 0
Accepted
time: 1ms
memory: 3564kb
Test #11:
score: 0
Accepted
time: 0ms
memory: 3812kb
Test #12:
score: 0
Accepted
time: 0ms
memory: 3552kb
Test #13:
score: 0
Accepted
time: 1ms
memory: 3644kb
Test #14:
score: 0
Accepted
time: 0ms
memory: 3532kb
Test #15:
score: 0
Accepted
time: 1ms
memory: 3592kb
Test #16:
score: 0
Accepted
time: 93ms
memory: 21876kb
Test #17:
score: 0
Accepted
time: 114ms
memory: 22264kb
Test #18:
score: 0
Accepted
time: 207ms
memory: 30840kb
Test #19:
score: 0
Accepted
time: 1ms
memory: 3624kb
Test #20:
score: 0
Accepted
time: 204ms
memory: 34636kb
Test #21:
score: 0
Accepted
time: 172ms
memory: 33832kb
Test #22:
score: 0
Accepted
time: 163ms
memory: 31260kb
Test #23:
score: 0
Accepted
time: 17ms
memory: 9776kb
Test #24:
score: 0
Accepted
time: 175ms
memory: 31520kb
Test #25:
score: 0
Accepted
time: 164ms
memory: 29664kb
Test #26:
score: 0
Accepted
time: 165ms
memory: 27988kb
Test #27:
score: 0
Accepted
time: 133ms
memory: 22024kb
Test #28:
score: 0
Accepted
time: 168ms
memory: 29248kb
Test #29:
score: 0
Accepted
time: 0ms
memory: 5520kb
Test #30:
score: 0
Accepted
time: 1ms
memory: 3612kb
Test #31:
score: 0
Accepted
time: 0ms
memory: 5472kb
Test #32:
score: 0
Accepted
time: 3ms
memory: 5536kb
Test #33:
score: 0
Accepted
time: 1ms
memory: 3556kb
Test #34:
score: 0
Accepted
time: 1ms
memory: 3572kb
Test #35:
score: 0
Accepted
time: 0ms
memory: 3592kb
Test #36:
score: 0
Accepted
time: 0ms
memory: 3556kb
Test #37:
score: 0
Accepted
time: 0ms
memory: 3548kb
Test #38:
score: 0
Accepted
time: 0ms
memory: 3616kb
Test #39:
score: 0
Accepted
time: 0ms
memory: 3596kb
Test #40:
score: 0
Accepted
time: 0ms
memory: 3592kb
Test #41:
score: 0
Accepted
time: 11ms
memory: 5592kb
Test #42:
score: 0
Accepted
time: 11ms
memory: 5532kb
Test #43:
score: 0
Accepted
time: 11ms
memory: 5392kb
Test #44:
score: 0
Accepted
time: 5ms
memory: 5468kb
Test #45:
score: 0
Accepted
time: 7ms
memory: 5432kb
Test #46:
score: 0
Accepted
time: 7ms
memory: 5504kb
Test #47:
score: 0
Accepted
time: 41ms
memory: 12152kb
Test #48:
score: 0
Accepted
time: 47ms
memory: 11972kb
Test #49:
score: 0
Accepted
time: 53ms
memory: 12148kb
Test #50:
score: 0
Accepted
time: 32ms
memory: 9664kb
Test #51:
score: 0
Accepted
time: 37ms
memory: 9576kb
Test #52:
score: 0
Accepted
time: 28ms
memory: 9560kb
Test #53:
score: 0
Accepted
time: 87ms
memory: 17988kb
Test #54:
score: 0
Accepted
time: 97ms
memory: 18044kb
Test #55:
score: 0
Accepted
time: 99ms
memory: 18168kb
Test #56:
score: 0
Accepted
time: 82ms
memory: 16444kb
Test #57:
score: 0
Accepted
time: 84ms
memory: 16444kb
Test #58:
score: 0
Accepted
time: 78ms
memory: 16572kb
Test #59:
score: 0
Accepted
time: 1ms
memory: 3500kb
Test #60:
score: 0
Accepted
time: 0ms
memory: 6200kb
Test #61:
score: 0
Accepted
time: 0ms
memory: 4552kb
Test #62:
score: 0
Accepted
time: 1ms
memory: 3576kb