2023CSP-J第二轮前三题题解

本文分享了2023年CSP-J第二轮比赛的前三题解题思路。第一题是关于模拟苹果被拿走的过程;第二题是一个公路旅行问题,通过贪心策略找到最省钱的加油方案;第三题是关于一元二次方程的求解,需要进行模拟和输出答案。
摘要由CSDN通过智能技术生成

在最后一次CSP-J ,也是把双一等奖拿下了(大家不要说我蒟蒻嘤嘤)。下面来讲一下我在考场上的做题思路和题解吧。

第一题 小苹果

题意 

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

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

每天在拿的时候,小苞都是从左侧第1个苹果开始、每隔 2 个苹果拿走 1 个苹果。

随后小苞会将剩下的苹果按原先的顺序重新排成一列。

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

思路

这不纯纯模拟吗 , 每天只能拿去n/3个 , 因为最后一个苹果只能在第一次n%3 == 1时被取走。

所以这题就结束了(100分轻松到手)

AC代码如下(原考场代码)

#include <bits/stdc++.h>
# define ull unsigned long long 
using namespace std;
const int N = 1000000005;
int n , k , cnt;
int main()
{
	scanf("%d" , &n);
	int now = 1;//计算n%3余数如!= 0还能多拿走一个
	int day = 1;//拿走全部苹果一共需要多少天
	int j;//当天能拿走多少苹果
	while(n > 0)
	{
		now = n % 3;
		j = n / 3;
		if(now != 0) j++;
		if(k == 0 && n 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值