Submission #482180

#TimeUsernameProblemLanguageResultExecution timeMemory
482180QkakeJetpack (COCI16_jetpack)C++17
80 / 80
21 ms6736 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef pair<int, int> pi; typedef pair<ll, int> pli; typedef pair<int, ll> pil; typedef pair<ll,ll> pl; typedef pair<ld,ld> pd; typedef vector<int> vi; typedef vector<bool> vb; typedef vector<ld> vd; typedef vector<ll> vl; typedef vector<pi> vpi; typedef vector<pl> vpl; typedef vector<pli> vli; typedef vector<pil> vil; #define mp make_pair #define pb push_back #define f first #define s second #define lb lower_bound #define ub upper_bound #define sz(x) (int)x.size() #define all(x) begin(x), end(x) const int MOD = 1000000007; // 998244353 const ll INF = 1e18; const int oo = 1000000007; const int MX = 100001; const ld PI = 4 * atan((ld)1); int n; vi res; char grid[11][MX]; bool dfs(int u, int v) { if (grid[u][v] == 'X') return false; if (v == n) return true; grid[u][v] = 'X'; if (dfs(max(1, u - 1), v + 1)) { res.pb(v - 1); return true; } if (dfs(min(10, u + 1), v + 1)) return true; return false; } void solve() { cin >> n; for (int i = 1; i <= 10; i++) for (int j = 1; j <= n; j++) cin >> grid[i][j]; if (!dfs(10, 1)) { cout << 0; return; } reverse(all(res)); cout << sz(res) << endl; for (auto it : res) cout << it << " 1\n"; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...