第一次 csp考试模拟题 B题

B题 咕咕咚想吃饭

题目描述:
题目描述
咕咕东考试周开始了,考试周一共有n天。 他不想考试周这么累,于是打算每天都吃顿好的。他决定每天都吃生煎,咕咕东每天需要买ai个生煎。但是生煎店为了刺激消费,只有两种购买方式:①在某一天一 次性买两个生煎。 ②今天买一个生煎,同时为明天买一个生煎, 店家会给一个券,第二天用券来拿。没有其余的购买方式,这两种购买方式可以用无数次但是咕咕东是个节俭的好孩子,他考试结束就走了,不允许考试结束时手里有券。咕咕东非常有钱,你不需要担心
咕咕东没钱,但是咕咕东太笨了,他想问你他能否在考试周每天都能恰好买ai个生煎。

输入格式
输入两行,第- -行输入- 个正整数n(1 <=n <= 10000),表示考试周的天数。
第二行有n个数,第i个数a; (0 <= a; <= 10000)表示第i天咕咕东要买的生煎的数量。

输出格式
如果可以满足咕咕东奇怪的要求,输出"YES",如果不能满足,输出"NO"。(输出不带引号)

样例:
输入:
4
1 2 1 2
输出:
YES

解题思路:
理解题意得:只有两种购买方式,
①一次性购买两个的,购买完之后数量还是偶数,不能解决数量为奇数的情况,
②则,如果数量出现奇数只能选择第二种购买方式,如果选择这种购买方式,则不仅当天的需要购买数减一,后一天的购买数也需要减一
注意:在遍历减一的时候,需要留意当购买数量减为负数时则发生了错误,不能购买!!!
还有判断条件:如果最后一天和倒数第二天奇偶性不相同时,则购买也不成功,(若都为偶数,则都可以选择第一种购买方式,若都为奇数,则选择第二种购买方式之后,都变成了偶数,情况同上。如果一奇一偶的话,则无论怎样选择都买方式都不可以

代码如下:

#include<iostream>
using namespace std;
int main()
{
 int n;
 cin>>n;
 int a[n];
 for(int i=0;i<n;i++)
  cin>>a[i]; 
 int j=0;
 for(int i=0;i<n-1;i++)
 {
  if(a[i]%2==1)
  {
   a[i]--;
   a[i+1]--;
   if(a[i+1]<0) j=1;
   } 
 }
 if((a[n-1]%2==a[n-2]%2)&&a[n-1]>=0&&j==0) cout<<"YES";
 else cout<<"NO";
}
### 关于第35次 CSP 认证考试第三的解答 目前针对第35次 CSP 认证考试的具体第三官方解析尚未完全公开,但从以往类似的 CSP 考试目来看,通常第三属于中高难度范围内的编程问。这类目往往涉及较为复杂的逻辑处理或者特定的数据结构应用。 #### 目背景推测 基于引用中的描述[^1],可以推断该场考试的第一围绕字符串匹配展开,而第二则涉及到矩阵操作[^2]。因此,按照 CSP 的一贯命风格,第三可能更倾向于考察选手对于复杂算法的理解能力或者是对某些经典数据结构的应用技巧。 如果假设此为一道典型的算法设计类试,则需注意以下几个方面: - **时间与空间效率**:任何解决方案都应考虑最坏情况下的性能表现。 - **边界条件测试**:确保程序能够正确处理各种极端输入情形。 以下是关于如何构建此类问通用解法框架的一个示例代码片段(假定目标是对一组数列执行某种变换并统计结果),供参考学习之用: ```python def process_sequence(sequence, operation): result = [] for item in sequence: processed_item = apply_operation(item, operation) if validate_condition(processed_item): # 假设存在验证函数 result.append(processed_item) return result def apply_operation(value, op_type): """模拟不同类型的运算""" if op_type == 'A': return value * 2 elif op_type == 'B': return value - 3 else: raise ValueError("Unsupported Operation Type") # 示例调用 input_data = [1, 2, 3, 4] operation_code = 'A' output = process_sequence(input_data, operation_code) print(output) ``` 上述伪代码仅作为示范用途,并不代表实际考内容。真正的答过程还需要依据具体目要求来调整实现细节。 #### 数据结构的选择建议 当面对需要频繁增删节点或是快速查找元素的情况时,链表、哈希表等高级数据结构可能是更好的选择;而对于有序集合的操作,则平衡树或许更为合适。当然这都要视具体情况而定。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值