| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 721183 | vjudge1 | Zamjena (COCI18_zamjena) | C++17 | 9 ms | 1492 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>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define ld long double
#define ll long long
#define S second
#define F first
using namespace __gnu_pbds;
using namespace std;
typedef tree<long long, null_type, less_equal<long long>,
rb_tree_tag, tree_order_statistics_node_update> Tree;
const ll INF = 9223372036854775807LL;
const ll inf = 2147483647;
const ll MAXN = 200010;
const ll MOD = 1e9 + 7;
const ld PI = acos(-1);
const ll NROOT = 320;
ll binpow(ll a, ll b) {
ll res = 1;
for (;b; b /= 2, a *= a, a %= MOD)
if (b & 1) res *= a, res %= MOD;
return res % MOD;
}
ll gcd(ll a, ll b) {return b ? gcd(b, a % b) : a;}
ll lcm(ll a, ll b) {return a * b / gcd(a, b);}
ll invmod(ll a) {return binpow(a, MOD - 2);}
int stroi(string s) {
int ans = 0;
for (int i = 1; i < s.size(); i ++) {
ans *= 10;
ans += s[i] - '0';
}
return ans;
}
bool is(string b) {
if (b[0] >= 'a' && b[0] <= 'z') {
return 1;
}
return 0;
}
int32_t main () {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n; cin >> n;
vector<string> a(n + 1), b(n + 1);
map<string, int> v;
for (int i = 1; i <= n; i ++) {
cin >> a[i];
if (is(a[i])) {
v[a[i]] = -1;
}
}
for (int i = 1; i <= n; i ++) {
cin >> b[i];
if (is(b[i])) {
v[b[i]] = -1;
}
}
for (int i = 1; i <= n; i ++) {
if (!is(a[i]) && !is(b[i])) {
if (a[i] != b[i]) {
cout << "NE\n";
return 0;
}
} else if (is(a[i])) {
if (is(b[i])) {
if (v[a[i]] != -1) {
if (v[b[i]] == -1) v[b[i]] == v[a[i]];
else if (v[b[i]] != v[a[i]]) {
cout << "NE\n";
return 0;
}
}
} else {
if (v[a[i]] != -1 && v[a[i]] != stroi(b[i])) {
cout << "NE\n";
return 0;
} else if (v[a[i]] == -1) {
v[a[i]] = stroi(b[i]);
}
}
} else if (is(b[i])) {
if (v[b[i]] == -1) v[b[i]] = stroi(a[i]);
else if (v[b[i]] != -1 && v[b[i]] != stroi(a[i])) {
cout << "NE\n";
return 0;
}
}
}
cout << "DA\n";
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... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
