今天让chatGPT做了两道2023年CSP-J的第二轮题目,比我想象的要差一些,CSP-J按道理说不是特别难的编程题目,我以为chatGPT能轻松拿下的。

第一题

[CSP-J 2023] 小苹果

题目描述

小 Y 的桌子上放着 $n$ 个苹果从左到右排成一列,编号为从 $1$ 到 $n$。

小苞是小 Y 的好朋友,每天她都会从中拿走一些苹果。

每天在拿的时候,小苞都是从左侧第 $1$ 个苹果开始、每隔 $2$ 个苹果拿走 $1$ 个苹果。随后小苞会将剩下的苹果按原先的顺序重新排成一列。

小苞想知道,多少天能拿完所有的苹果,而编号为 $n$ 的苹果是在第几天被拿走的?

输入格式

输入的第一行包含一个正整数 $n$,表示苹果的总数。

输出格式

输出一行包含两个正整数,两个整数之间由一个空格隔开,分别表示小苞拿走所有苹果所需的天数以及拿走编号为 $n$ 的苹果是在第几天。

chatGPT的基本解题过程如下:

先是给出了一个错误的题目理解

最后这个代码在洛谷的数据上测试,得了90分,最后一组测试数据因为数据太大内存超限了。

如果说这道题目是差强人意的话,第二道题目直接就蒙了,做了十几遍连示例数据都过不了。

[CSP-J 2023] 公路

题目描述

小苞准备开着车沿着公路自驾。

公路上一共有 $n$ 个站点,编号为从 $1$ 到 $n$。其中站点 $i$ 与站点 $i + 1$ 的距离为 $v_i$ 公里。

公路上每个站点都可以加油,编号为 $i$ 的站点一升油的价格为 $a_i$ 元,且每个站点只出售整数升的油。

小苞想从站点 $1$ 开车到站点 $n$,一开始小苞在站点 $1$ 且车的油箱是空的。已知车的油箱足够大,可以装下任意多的油,且每升油可以让车前进 $d$ 公里。问小苞从站点 $1$ 开到站点 $n$,至少要花多少钱加油?

输入格式

输入的第一行包含两个正整数 $n$ 和 $d$,分别表示公路上站点的数量和车每升油可以前进的距离。

输入的第二行包含 $n – 1$ 个正整数 $v_1, v_2\dots v_{n-1}$,分别表示站点间的距离。

输入的第三行包含 $n$ 个正整数 $a_1, a_2 \dots a_n$,分别表示在不同站点加油的价格。

输出格式

输出一行,仅包含一个正整数,表示从站点 $1$ 开到站点 $n$,小苞至少要花多少钱加油。

前面分析的有模有样

但是给出的代码无论是动态规划还是贪心算法都不对。测试了几轮之后,我让它直接用python写算法,因为我用的是code intepreter 模型,可以直接运行python代码。我提供测试数据,让它写完代码之后把测试数据带入程序自己看输出结果是否正确,然后它就陷入了死循环。

很努力的做不对

看来在给出更清晰的引导之前,它自己是没办法作出这道题目了。