Submission #1254063

#TimeUsernameProblemLanguageResultExecution timeMemory
1254063ofozNaval battle (CEOI24_battle)C++20
6 / 100
0 ms328 KiB
#include <bits/stdc++.h> #pragma GCC optimize("O2") using namespace std; #define vi vector<int> #define pi pair<int, int> #define ppi pair<pair<int, int>, int> #define mtis multiset<pi> #define endl '\n' struct Ship { int x, y; char dir; }; int man_dist(Ship s1, Ship s2) { return abs(s1.x - s2.x) + abs(s1.y - s2.y); } bool is_valid(Ship s1, Ship s2) { bool res = s1.dir != s2.dir; if (s1.dir == 'E') { res &= (s2.x > s1.x) && s2.dir != 'E'; if (s2.dir == 'W') res &= (s2.y == s1.y); else res &= (abs(s1.x - s2.x) == abs(s1.y - s2.y)); } if (s1.dir == 'W') { res &= (s2.x < s1.x) && s2.dir != 'W'; if (s2.dir == 'E') res &= (s2.y == s1.y); else res &= (abs(s1.x - s2.x) == abs(s1.y - s2.y)); } if (s1.dir == 'N') { res &= (s2.y < s1.y) && s2.dir != 'N'; if (s2.dir == 'S') res &= (s2.x == s1.x); else res &= (abs(s1.x - s2.x) == abs(s1.y - s2.y)); } if (s1.dir == 'S') { res &= (s2.y > s1.y) && s2.dir != 'S'; if (s2.dir == 'N') res &= (s2.x == s1.x); else res &= (abs(s1.x - s2.x) == abs(s1.y - s2.y)); } return res; } void solve() { int n; cin >> n; Ship ship1, ship2; cin >> ship1.x >> ship1.y >> ship1.dir; cin >> ship2.x >> ship2.y >> ship2.dir; if (!is_valid(ship1, ship2)) cout << 1 << endl << 2 << endl; } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); bool test = 0; int t; if (!test) t = 1; else cin >> t; while (t--) { solve(); } 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...