Submission #227873

#TimeUsernameProblemLanguageResultExecution timeMemory
227873kartelZamjena (COCI18_zamjena)C++14
28 / 70
10 ms6784 KiB
#include <bits/stdc++.h> //#include <ext/pb_ds/assoc_container.hpp> //#include <ext/pb_ds/tree_policy.hpp> #define in(x) freopen(x, "r", stdin) #define out(x) freopen(x, "w", stdout) #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC optimize("-O3") #define F first #define S second #define pb push_back #define N +100500 #define M ll(1e9 + 7) #define sz(x) (int)x.size() #define re return #define oo ll(1e18) #define el '\n' using namespace std; //using namespace __gnu_pbds; //typedef tree <int, null_type, less_equal <int> , rb_tree_tag, tree_order_statistics_node_update> ordered_set; typedef long long ll; typedef long double ld; map <string, string> mp; int i, n, j, can; string a[N], b[N]; bool isdig(string s) { int i = 0; while (i < s.size() && s[i] >= '0' && s[i] <= '9') i++; return i == s.size(); } int main() { srand(time(0)); ios_base::sync_with_stdio(0); iostream::sync_with_stdio(0); ios::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); // in("sum.in"); // out("output.txt"); cin >> n; for (i = 1; i <= n; i++) cin >> a[i]; for (i = 1; i <= n; i++) cin >> b[i]; can = 1; for (i = 1; i <= n; i++) { if (isdig(a[i]) && isdig(b[i]) && a[i] != b[i]) can = 0; else { if (!isdig(a[i]) && !isdig(b[i])) continue; if (!isdig(a[i])) { if (mp.find(a[i]) == mp.end()) mp[a[i]] = b[i];else if (mp[a[i]] != b[i]) can = 0; } else { if (mp.find(a[i]) == mp.end()) mp[b[i]] = a[i];else if (mp[b[i]] != a[i]) can = 0; } } } for (i = 1; i <= n; i++) { if (isdig(a[i]) && isdig(b[i])) continue; if (!isdig(a[i]) && !isdig(b[i]) && mp.find(a[i]) != mp.end() && mp.find(b[i]) != mp.end() && mp[a[i]] != mp[b[i]]) can = 0; } cout << (can == 1 ? "DA" : "NE"); } // 119 78 175 411

Compilation message (stderr)

zamjena.cpp: In function 'bool isdig(std::__cxx11::string)':
zamjena.cpp:31:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while (i < s.size() && s[i] >= '0' && s[i] <= '9') i++;
            ~~^~~~~~~~~~
zamjena.cpp:32:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     return i == s.size();
            ~~^~~~~~~~~~~
#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...