Submission #990705

#TimeUsernameProblemLanguageResultExecution timeMemory
990705vjudge1Dijamant (COI16_dijament)C++17
13 / 100
92 ms348 KiB
#include<bits/stdc++.h>

using namespace std;

const int N = 1e3+5;
map<string, int> st;
vector<int> G[N];

int main()
{
  int n;
  cin >> n;
  int cur = 0;
  for(int i = 0; i < n; i ++)
    {
      string k;
      cin >> k;
      string temp; cin >> temp;

      bool ok = true;
      ok &= (st.count(k) == 0);
      
      while(true)
	{
	  cin >> temp;
	  if(temp == ";")
	    break;
	  if(st.count(temp) == 0)
	    ok = false;
	  else
	    G[cur].push_back(st[temp]);
	}
      
      if(ok)
	{
	  int cnt[cur] = {0};
	  for(int l : G[cur])
	    for(int j : G[l])
	      cnt[j]++;

	  for(int j = 0; j < cur; j++)
	    if(cnt[j] > 1)
	      ok = false;

	  if(ok)
	    {
	      st[k] = cur++;
	      cout << "ok\n";
	    }
	  else
	    cout << "greska\n";
	}
      else
	cout << "greska\n";
    }
  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...