# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
244346 | 2020-07-03T16:40:48 Z | MatesV13 | Dijamant (COI16_dijament) | C++11 | 2000 ms | 86392 KB |
#include <bits/stdc++.h> using namespace std; map<string, int> imi; vector<int> c[1005]; string ime_klase, nadklase; int v[1005], us[1005]; bool ok; bool dohvatljivi[1005][1005]; int n, br; queue<pair<int, int> > xx; bool check(int idx){ while (xx.size()) xx.pop(); for (int i=0; i<c[idx].size(); i++){ bool kk=1; for (int j=0; j<c[idx].size(); j++) if (dohvatljivi[c[idx][i]][c[idx][j]]) kk=0; if (kk) xx.push(make_pair(c[idx][i], c[idx][i])); } for (int i=1; i<br; i++) v[i]=0; while (!xx.empty()){ int cur = (xx.front()).first; int par = (xx.front()).second; if (v[cur]==cur){xx.pop(); continue;} if (v[cur] and v[cur]!=par) return 0; v[cur]=par; xx.pop(); for (int i=0; i<c[cur].size(); i++) xx.push(make_pair(c[cur][i], par)); } return 1; } int main (){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; br=0; while (n--){ ok=1; cin >> ime_klase >> nadklase; br++; if (imi.find(ime_klase)!=imi.end()) ok=0; // cout << "prvi uvijet: " << ok << endl; while (true){ cin >> nadklase; if (nadklase==";") break; if (imi.find(nadklase)==imi.end()) { ok=0; continue;} c[br].push_back(imi[nadklase]); } imi[ime_klase]=br; // cout << "drugi uvijet: " << ok << endl; if (ok) ok=check(br); if(!ok){ imi.erase(imi.find(ime_klase)); c[br].clear(); br--; } if (ok) for (int i=1; i<br; i++) if (v[i]) dohvatljivi[i][br]=1; if (ok) cout << "ok\n"; else cout << "greska\n"; } return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 2099 ms | 86392 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |