当前位置: 首页 > news >正文

C语言你爱我么?(ZZULIOJ 1205:你爱我么?)

题目描述

LCY买个n束花准备送给她暗恋的女生,但是他不知道这个女生是否喜欢他。这时候一个算命先生告诉他让他查花瓣数,第一个花瓣表示"爱",第二个花瓣表示"不爱",第三个花瓣表示"爱".....
为了使最后结果是"爱",LCY需要从n束花中选出一些,你能帮他算出最后他送给这个女生的花中最多包含多少个花瓣吗?


输入:

首先输入一个整数T,表示测试实例的个数。
接下来T组测试实例,每组实例首先输入一行,包括一个整数n(1 <= n <= 100)。
然后输入一行,n个数a1,a2...an(1 <= ai <= 100),表示每束花包含的花瓣的个数。


输出:

每组实例输出一个整数,表示LCY最多能送多少个花瓣给这个女生。


样例输入 Copy

3
1
1
1
2
3
5 6 7

样例输出 Copy

1
0
13

提示:每一束花不允许去掉一些花瓣再送。这样算命就不准了-_-#

思路:解决这个问题,理清两点即可,即所有的花瓣数量之和是奇数还是偶数的问题,

1.当所有花瓣数量之和为奇数时,则直接输出和即可。

2.当所有花瓣数量之和为偶数时,有两种情况,第一种情况所有的花束的花瓣数量都是偶数,这种情况输出0即可,第二种情况是部分花束的花瓣数量为奇数,部分为偶数,这种情况只需用所有花瓣数量之和减去花束中最小的的奇数花瓣数量即为最大花瓣数。

程序代码
#include<stdio.h>
int main(){int T;scanf("%d",&T);//输入一个整数T表示测试的案例数while(T--){int n;//输入一个整数n表示花束数量scanf("%d",&n);int a[n];//定义一个数组a用来存储每一束花的花瓣数int sum=0;int min=100;for(int i=0;i<n;i++){scanf("%d",&a[i]);//输入每束花的花瓣数sum+=a[i];if(a[i]%2!=0&&a[i]<min){//找到最小的奇数,并赋值给minmin=a[i];}}if(sum%2!=0) printf("%d\n",sum);//当所有花瓣之和为奇数时,输出sumelse if(min==100) printf("0\n");//当min的值不变,说明所有花的花瓣都为偶数,则输出0else printf("%d\n",sum-min);//当所有花瓣的和为偶数时,就减去最小的那个奇数,得到最大的奇数花瓣数}return 0;
}
运行结果

http://www.lryc.cn/news/248178.html

相关文章:

  • 动手学深度学习(三)---Softmax回归
  • 爬虫代理技术与构建本地代理池的实践
  • token认证机制,基于JWT的Token认证机制实现,安全性的问题
  • 什么是计算机病毒?
  • 【C++】哈希(位图、布隆过滤器)
  • LeetCode198.打家劫舍
  • Appium PO模式UI自动化测试框架——设计与实践
  • 使用VUE3实现简单颜色盘,吸管组件,useEyeDropper和<input type=“color“ />的使用
  • matlab提取特征(医学图像)
  • P4 C++ 条件与分支(if)
  • django+drf+vue 简单系统搭建 (4) 用户权限
  • stm32 计数模式
  • rss服务搭建记录
  • GEE 23:基于GEE实现物种分布模型之随机森林法
  • HCIE 01:基于前缀列表的BGP ORF功能
  • 基于SSM的云鑫曦科技办公自动化管理系统设计与实现
  • Angular项目中如何管理常量?
  • 【机器学习 | 可视化】回归可视化方案
  • 树与二叉树堆:链式二叉树的实现
  • C++面试的一些总结day1:指针和引用的区别
  • Java核心知识点整理大全15-笔记
  • 初始本地仓库推送到远程仓库-git
  • OpenCV | 图像梯度sobel算子、scharr算子、lapkacian算子
  • WS2812灯条基于WLED开源项目无门槛使用简介
  • 基于AOP的声明式事物控制
  • 第七节HarmonyOS UIAbility生命周期以及启动模式
  • matlab设置背景颜色
  • Linux gzip命令用法详解:如何压缩和解压文件(附实例教程和注意事项)
  • 初刷leetcode题目(11)——数据结构与算法
  • 基于SSM框架的图书馆管理系统设计与实现