# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
27617 | 2017-07-13T09:29:16 Z | rondojim | 캥거루 (CEOI16_kangaroo) | C++14 | 2000 ms | 1172 KB |
#include <stdio.h> #include <algorithm> #include <vector> using namespace std; const int MAXN = 10; int N, x, y, res; vector<int> v; int main(){ scanf("%d %d %d", &N, &x, &y); if(x > y) swap(x, y); for(int i=1; i<=N; ++i) if(i != x && i != y) v.push_back(i); do{ int prev = v[0], inc = (x < v[0]); for(int i=1; i<v.size(); ++i){ if((v[i - 1] < v[i] && inc) || (v[i - 1] > v[i] && !inc)){ inc = -1; break; } inc = (v[i - 1] < v[i]); } int r = v.back(); if((r < y && inc) || (r > y && !inc)) inc = -1; res += (inc != -1); } while(next_permutation(v.begin(), v.end())); printf("%d\n", res); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 1172 KB | Output is correct |
2 | Correct | 0 ms | 1172 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 1172 KB | Output is correct |
2 | Correct | 0 ms | 1172 KB | Output is correct |
3 | Execution timed out | 2000 ms | 1172 KB | Execution timed out |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 1172 KB | Output is correct |
2 | Correct | 0 ms | 1172 KB | Output is correct |
3 | Execution timed out | 2000 ms | 1172 KB | Execution timed out |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 1172 KB | Output is correct |
2 | Correct | 0 ms | 1172 KB | Output is correct |
3 | Execution timed out | 2000 ms | 1172 KB | Execution timed out |
4 | Halted | 0 ms | 0 KB | - |