# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
531515 | Register | Dijamant (COI16_dijament) | C++14 | 526 ms | 616 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
const int N=1005;
int tot;
map<string,int> id;
bitset<N> b[N];
void read(){
string s;
for(cin>>s;s!=";";cin>>s);
}
bool add(){
string it;cin>>it;
if(id[it]) {read();return 0;}
string s;cin>>s;
vector<int> v;
for(cin>>s;s!=";";cin>>s){
int x=id[s];
if(!x) {read();return 0;}
v.push_back(x);
}
int m=v.size();
for(int i=0;i<m;i++) for(int j=i+1;j<m;j++){
if(b[v[i]][v[j]]||b[v[j]][v[i]]) continue;
if((b[v[i]]&b[v[j]]).count()) return 0;
}
id[it]=++tot;
for(int x:v) b[tot]|=b[x],b[tot][x]=1;
return 1;
}
int main(){
int t;scanf("%d",&t);
while(t--) puts(add()?"ok":"greska");
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |