#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> pii;
int n;
vector<pii> dbok;
int main()
{
// moho proba:
// novelok: -db szerint sortolva
// nem novelok: +db szerint sortolva
// megprobaljuk ebben a sorrendben berakni oket, ha nem sikerul nincs mo
ios::sync_with_stdio(false);
cin.tie(NULL);
cin >> n;
string s;
dbok.assign(n, {0, 0});
vector<int> indexek(n);
for(int i = 0; i < n; i++){
cin >> s;
indexek[i] = i;
for(char c : s){
if(c == '('){
dbok[i].second++;
}
else{
if(dbok[i].second > 0){
dbok[i].second--;
}
else{
dbok[i].first++;
}
}
}
}
/*
cout << "-------------\n";
for(auto x : dbok){
cout << x.first << " " << x.second << "\n";
}
*/
sort(indexek.begin(), indexek.end(), [&dbok](const int &a, const int &b){
int kul1 = dbok[a].second - dbok[a].first;
int kul2 = dbok[b].second - dbok[b].first;
if(kul1 >= 0 && kul2 >= 0){
return dbok[a].first < dbok[b].first;
}
else if(kul1 >= 0){
return true;
}
else if(kul2 >= 0){
return false;
}
else{
return dbok[a].second > dbok[b].second;
}
});
bool lehet = true;
int akt = 0;
for(int ind : indexek){
if(dbok[ind].first > akt){
lehet = false;
break;
}
akt -= dbok[ind].first;
akt += dbok[ind].second;
}
lehet &= (akt == 0);
if(lehet){
for(int ind : indexek){
cout << ind + 1 << " ";
}
cout << "\n";
}
else{
cout << "-1\n";
}
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 3ms | 1864 KiB | ||||
| 2 | Elfogadva | 4ms | 2216 KiB | ||||
| subtask2 | 11/11 | ||||||
| 3 | Elfogadva | 3ms | 2372 KiB | ||||
| 4 | Elfogadva | 3ms | 2600 KiB | ||||
| 5 | Elfogadva | 3ms | 2712 KiB | ||||
| 6 | Elfogadva | 3ms | 2924 KiB | ||||
| 7 | Elfogadva | 4ms | 3152 KiB | ||||
| 8 | Elfogadva | 4ms | 3352 KiB | ||||
| subtask3 | 6/6 | ||||||
| 9 | Elfogadva | 4ms | 3348 KiB | ||||
| 10 | Elfogadva | 4ms | 3656 KiB | ||||
| 11 | Elfogadva | 4ms | 3864 KiB | ||||
| subtask4 | 14/14 | ||||||
| 12 | Elfogadva | 4ms | 4088 KiB | ||||
| 13 | Elfogadva | 4ms | 4040 KiB | ||||
| subtask5 | 23/23 | ||||||
| 14 | Elfogadva | 4ms | 3924 KiB | ||||
| 15 | Elfogadva | 4ms | 3992 KiB | ||||
| subtask6 | 19/19 | ||||||
| 16 | Elfogadva | 4ms | 3928 KiB | ||||
| 17 | Elfogadva | 4ms | 4168 KiB | ||||
| 18 | Elfogadva | 4ms | 4388 KiB | ||||
| 19 | Elfogadva | 4ms | 4344 KiB | ||||
| 20 | Elfogadva | 4ms | 4404 KiB | ||||
| 21 | Elfogadva | 3ms | 4788 KiB | ||||
| 22 | Elfogadva | 4ms | 4728 KiB | ||||
| 23 | Elfogadva | 4ms | 4932 KiB | ||||
| 24 | Elfogadva | 3ms | 5000 KiB | ||||
| subtask7 | 27/27 | ||||||
| 25 | Elfogadva | 4ms | 4820 KiB | ||||
| 26 | Elfogadva | 4ms | 4948 KiB | ||||
| 27 | Elfogadva | 4ms | 4812 KiB | ||||
| 28 | Elfogadva | 4ms | 4872 KiB | ||||
| 29 | Elfogadva | 7ms | 5096 KiB | ||||
| 30 | Elfogadva | 17ms | 5972 KiB | ||||
| 31 | Elfogadva | 4ms | 4880 KiB | ||||
| 32 | Elfogadva | 4ms | 4876 KiB | ||||
| 33 | Elfogadva | 4ms | 4868 KiB | ||||
| 34 | Elfogadva | 4ms | 4976 KiB | ||||
| 35 | Elfogadva | 4ms | 4804 KiB | ||||
| 36 | Elfogadva | 4ms | 5312 KiB | ||||
| 37 | Elfogadva | 3ms | 4944 KiB | ||||
| 38 | Elfogadva | 4ms | 4952 KiB | ||||
| 39 | Elfogadva | 8ms | 5260 KiB | ||||
| 40 | Elfogadva | 3ms | 4984 KiB | ||||
| 41 | Elfogadva | 3ms | 4928 KiB | ||||
| 42 | Elfogadva | 4ms | 5148 KiB | ||||
| 43 | Elfogadva | 4ms | 5140 KiB | ||||