제출 #604389

#제출 시각아이디문제언어결과실행 시간메모리
604389Aleee캥거루 (CEOI16_kangaroo)C++14
6 / 100
2068 ms340 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define all(a) (a).begin(), (a).end() #define endl '\n' #define forn(i, l, n) for (int i = l; i < int(n); i++) typedef long long ll; typedef vector<int> vi; typedef vector<ll> vll; typedef pair<int, int> pii; const int INF = 1e9 + 7; vll cant(2001, 0); int n, cs, cf; vector<string> ans; void solve(int prev, int act, vector<bool> disp, int aux) { if (aux == n) { return; } if (prev < act) { forn(i, 1, act) { if (!disp[i] || aux == n - 1) { cant[i]++; disp[i] = 1; aux++; solve(act, i, disp, aux); disp[i] = 0; aux--; } } } else if (prev > act) { forn(i, act + 1, n + 1) { if (!disp[i] || aux == n - 1) { cant[i]++; disp[i] = 1; aux++; solve(act, i, disp, aux); disp[i] = 0; aux--; } } } else { forn(i, 1, n + 1) { if (!disp[i] || aux == n - 1) { cant[i]++; disp[i] = 1; aux++; solve(act, i, disp, aux); disp[i] = 0; aux--; } } } return; } int main() // Ale C. { ios_base::sync_with_stdio(false); cin.tie(NULL); // freopen("output.txt", "w", stdout); cin >> n >> cs >> cf; vector<bool> disp(2000, 0); disp[cs] = disp[cf] = 1; solve(cs, cs, disp, 1); cout << cant[cf] << endl; 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...