提交记录 9829


用户 题目 状态 得分 用时 内存 语言 代码长度
memset0 noi19b. 【NOI2019】机器人 Wrong Answer 20 3 s 36 KB C++11 2.12 KB
提交时间 评测时间
2019-07-16 17:23:42 2020-08-01 01:55:22
// =================================
//   author: memset0
//   date: 2019.07.16 08:30:00
//   website: https://memset0.cn/
// =================================
#include <bits/stdc++.h>
#define ll long long
#define rep(i, l, r) for (int i = (l), i##ed = (r); i <= i##ed; ++i)
#define for_each(i, a) for (size_t i = 0, i##ed = a.size(); i < i##ed; ++i)
namespace ringo {

template <class T> inline void read(T &x) {
  x = 0; char c = getchar(); bool f = 0;
  while (!isdigit(c)) f ^= c == '-', c = getchar();
  while (isdigit(c)) x = x * 10 + c - '0', c = getchar();
  if (f) x = -x;
}
template <class T> inline void print(T x) {
  if (x < 0) putchar('-'), x = -x;
  if (x > 9) print(x / 10);
  putchar('0' + x % 10);
}
template <class T> inline void print(T x, char c) { print(x), putchar(c); }
template <class T> inline void print(T a, int l, int r, std::string s = "") {
  if (s != "") std::cout << s << ": ";
  for (int i = l; i <= r; i++) print(a[i], " \n"[i == r]);
}

const int N = 10;
int n, ans, a[N], l[N], r[N];

bool check() {
  for (int i = 1; i <= n; i++) {
    int l = i, r = i;
    while (l > 1 && a[l - 1] <= a[i]) --l;
    while (r < n && a[r + 1] < a[i]) ++r;
    if (std::abs((r - i) - (i - l)) > 2)
      return false;
  }
  return true;
}

bool check2() {
  for (int i = 1; i <= n; i += n - 1) {
    int l = i, r = i;
    while (l > 1 && a[l - 1] <= a[i]) --l;
    while (r < n && a[r + 1] < a[i]) ++r;
    if (std::abs((r - i) - (i - l)) > 2)
      return false;
  }
  return true;
}

void dfs(int u) {
  if (u > n) {
    ans += check();
    // ans += check2();
    // if (check() != check2()) {
    //   printf("> %d %d\n", check(), check2());
    //   for (int i = 1; i <= n; i++)
    //     print(a[i], " \n"[i == n]);
    //   exit(0);
    // }
    return;
  }
  for (int i = l[u]; i <= r[u]; i++) {
    a[u] = i;
    dfs(u + 1);
  }
}

void main() {
  read(n);
  for (int i = 1; i <= n; i++) {
    read(l[i]), read(r[i]);
  }
  dfs(1);
  print(ans, '\n');
}

} signed main() {
#ifdef memset0
  freopen("robot2.in", "r", stdin);
#else
  freopen("robot.in", "r", stdin);
  freopen("robot.out", "w", stdout);
#endif
  return ringo::main(), 0;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #133.62 us36 KBAcceptedScore: 5

Testcase #240.96 us36 KBAcceptedScore: 5

Testcase #3113.36 us36 KBAcceptedScore: 5

Testcase #486.06 us36 KBAcceptedScore: 5

Testcase #51.668 ms36 KBWrong AnswerScore: 0

Testcase #635.23 us36 KBWrong AnswerScore: 0

Testcase #734.62 us36 KBWrong AnswerScore: 0

Testcase #83 s32 KBTime Limit ExceededScore: 0

Testcase #93 s32 KBTime Limit ExceededScore: 0

Testcase #103 s32 KBTime Limit ExceededScore: 0

Testcase #1134.1 us36 KBWrong AnswerScore: 0

Testcase #1234.02 us36 KBWrong AnswerScore: 0

Testcase #133 s32 KBTime Limit ExceededScore: 0

Testcase #143 s32 KBTime Limit ExceededScore: 0

Testcase #153 s32 KBTime Limit ExceededScore: 0

Testcase #163 s32 KBTime Limit ExceededScore: 0

Testcase #173 s32 KBTime Limit ExceededScore: 0

Testcase #183 s32 KBTime Limit ExceededScore: 0

Testcase #193 s32 KBTime Limit ExceededScore: 0

Testcase #203 s32 KBTime Limit ExceededScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-03-30 16:00:03 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠