Submission #728748

# Submission time Handle Problem Language Result Execution time Memory
728748 2023-04-23T02:46:47 Z Cris_MCG Zamjena (COCI18_zamjena) C++17
56 / 70
183 ms 16312 KB
#include <bits/stdc++.h>
#define int long long

using namespace std;

signed main()
{
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

  //ifstream fin; fin.open("Copia Copia b.txt");

  int n;
  cin >> n;
  pair<string, string> p[n];
  vector<int> pos;
  queue<string> v;
  map<string, vector<string>> mapa;
  map<string, string> val;
  map<int, bool> ya;
  for(int i = 0; i < n; i++)  {
    string s;
    cin >> s;
    if(s[0] - '0' >= 1 && s[0] - '0' <= 9)  {
      p[i].first = s;
      pos.push_back(i);
      ya[i] = 1;
    }
    else
      p[i].first = s;
  }
  for(int i = 0; i < n; i++)  {
    string s;
    cin >> s;
    if(s[0] - '0' >= 1 && s[0] - '0' <= 9)  {
      p[i].second = s;
      if(!ya[i])
        pos.push_back(i);
    }
    else
      p[i].second = s;
  }
  for(int i = 0; i < n; i++)  {
    if(p[i].first[0] > 60 && p[i].second[0] > 60)  {
      mapa[p[i].first].push_back(p[i].second);
      if(p[i].first != p[i].second)
        mapa[p[i].second].push_back(p[i].first);
    }
  }
  bool b = 0;
  for(int i = 0; i < pos.size() && !b; i++)  {
    int x = pos[i];
    if(p[x].first[0] - '0' >= 1 && p[x].first[0] - '0' <= 9 && p[x].second[0] - '0' >= 0 && p[x].second[0] - '0' <= 9)  {
      if(p[x].first != p[x].second)
        b = 1;
      continue;
    }
    else if(p[x].second[0] > 60)  {
      val[p[x].second] = p[x].first;
      v.push(p[x].second);
      continue;
    }
    else if(p[x].first[0] > 60)  {
      val[p[x].first] = p[x].second;
      v.push(p[x].first);
      continue;
    }
  }
  if(b)  {
    cout << "NE" << '\n';
    return 0;
  }
  while(!v.empty() && !b)  {
    string aux = v.front();
    v.pop();
    string va = val[aux];
    for(int i = 0; i < mapa[aux].size(); i++)  {
      if(val[mapa[aux][i]] == "")  {
        v.push(mapa[aux][i]);
        val[mapa[aux][i]] = va;
      }
      else  {
        if(val[mapa[aux][i]] != va)
          b = 1;
      }
    }
  }
  if(!b)
    cout << "DA" << '\n';
  else
    cout << "NE" << '\n';

  return 0;
}

Compilation message

zamjena.cpp: In function 'int main()':
zamjena.cpp:50:20: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |   for(int i = 0; i < pos.size() && !b; i++)  {
      |                  ~~^~~~~~~~~~~~
zamjena.cpp:76:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   76 |     for(int i = 0; i < mapa[aux].size(); i++)  {
      |                    ~~^~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 324 KB Output is correct
3 Correct 1 ms 316 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 320 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Incorrect 1 ms 212 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 612 KB Output is correct
2 Correct 2 ms 576 KB Output is correct
3 Correct 4 ms 1044 KB Output is correct
4 Correct 3 ms 980 KB Output is correct
5 Correct 6 ms 1092 KB Output is correct
6 Correct 4 ms 1108 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 2356 KB Output is correct
2 Correct 63 ms 5908 KB Output is correct
3 Correct 39 ms 7836 KB Output is correct
4 Correct 47 ms 10316 KB Output is correct
5 Correct 183 ms 16312 KB Output is correct
6 Correct 119 ms 12228 KB Output is correct