鱼C论坛

 找回密码
 立即注册
查看: 2932|回复: 6

求助

[复制链接]
发表于 2023-10-2 17:40:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 sfqxx 于 2024-7-25 15:17 编辑

# Maps.

## 题目描述

小 Y 希望得到一幅地图,这份地图有些与众不同。

这份地图是一幅长为 $n$ 个单位,宽为一个单位的网格图,每个网格必须被涂鸦成白色($0$)或者黑色($1$)。

你希望满足小 Y 的愿望送给他一幅这样的地图,但是这时小 Y 又提出了两点要求:

- 对于每个不在网格图两端的白色格子,恰好有 $p$ 个满足它的左右两个格子都被涂鸦成黑色。
- 在满足上述所有条件的情况下,这幅地图从左到右的字符构成的字符串的字典序最小。

你心想,这些要求也是小菜一碟,于是开始了你的创作。

## 输入格式

本题有多组数据。

第一行一个正整数 $T$,表示数据组数。

对于每组数据:

输入共一行两个整数 $n,p$,表示你需要构造的地图的长度和小 Y 对你的要求。

## 输出格式

对于每组数据:输出一行一个长度为 $n$ 的 01 字符串,表示你构造的地图;如果无法找到任何一幅地图满足小 Y 的要求,输出 $-1$。

## 样例 #1

### 样例输入 #1

```
5
5 1
3 1
5 3
5 4
5 5
```

### 样例输出 #1

```
00101
101
-1
-1
-1
```

## 提示

#### 【样例解释 #1】

对于第一组数据:只有位于第 $4$ 个字符上的数,满足本身是 $0$,不在地图边缘且周围两个都是 $1$,因此符合条件。可以证明这是满足条件的字典序最小的方案。

对于第三组数据:可以证明没有任何一个解满足长度为 $5$ 且有 $3$ 个数本身是 $0$,不在地图边缘且周围两个字符都是 $1$。

#### 【数据范围】

对于所有测试数据,满足 $1 \le T \le 100$,$1 \le n,p \le 10^5$。

各测试点的附加限制如下表所示。

| 测试点 | $n,p \le$ |
| :-----------: | :-----------: |
| $1 \sim 3$ | $10$ |
| $4 \sim 5$ | $10^3$ |
| $6\sim 10$ | $10^5$ |

我的代码:
  1. a = int(input())
  2. for _ in range(a):
  3.     n, p = map(int, input().split())
  4.     if n < 2 * p + 1:
  5.         print(-1)
  6.     else:
  7.         if n - 3 * p > 0:
  8.             print("0" * (n - 3 * p), end="")
  9.         else:
  10.             print(-1)
  11.             continue
  12.         print(1, end="")
  13.         for u in range(p):
  14.             print("01", end="")
  15.     print()
复制代码


为啥样例全过,而正式数据错呢?

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-10-3 09:02:39 From FishC Mobile | 显示全部楼层
陶远航 发表于 2023-10-2 17:42
经过分析,你的代码逻辑存在问题。你的代码没有正确处理题目中的要求,导致在某些情况下无法得到正确的答案 ...

确实没过
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-10-3 18:26:21 From FishC Mobile | 显示全部楼层
陶远航 发表于 2023-10-3 09:03
GPT4都过不了???那没办法了...

经过3.14次测试,gpt-5过了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-10 05:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表