Submission #728758

#TimeUsernameProblemLanguageResultExecution timeMemory
728758Cris_MCGZamjena (COCI18_zamjena)C++17
70 / 70
198 ms16352 KiB
#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' >= 0 && 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' >= 0 && 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' >= 0 && 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) { if(val[p[x].second] == "") { val[p[x].second] = p[x].first; v.push(p[x].second); } else if(val[p[x].second] != p[x].first) b = 1; continue; } else if(p[x].first[0] > 60) { if(val[p[x].first] == "") { val[p[x].first] = p[x].second; v.push(p[x].first); } else if(val[p[x].first] != p[x].second) b = 1; 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 (stderr)

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:86: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]
   86 |     for(int i = 0; i < mapa[aux].size(); i++)  {
      |                    ~~^~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...