codeforces 158B-C语言解题报告

题目网址

题目解析

参考博客

代码

#include<iostream>
#include<string.h>
#include<algorithm>
#include<stdio.h>
#include<math.h>
using namespace std;
int n,a[100005];
long long sum,s1,s2,s3;main()
{cin>>n;for(int i=1;i<=n;i++){cin>>a[i];if(a[i]==1) s1++;//统计每组人数,4人组存在时答案直接+1 if(a[i]==2) s2++;if(a[i]==3) s3++;if(a[i]==4) sum++;}sum=sum+min(s1,s3)+s2/2;s2=s2%2;//2人组组数变更 ,非0即1 if(s3>s1)sum=sum+s2+s3-s1;//剩余的3人组每组单独一辆车,加上2人组 是否有余 else if(s1>s3){s1=s1-s3; //1人组 组数变更 if(s2==0){sum=sum+s1/4;if(s1%4!=0)sum=sum+1;}else{if(s1<=2)sum=sum+1;//余下的1人组小于2,和余下的2人组一辆车 else{sum=sum+1+(s1-2)/4;if((s1-2)%4!=0)sum=sum+1;}}}else  sum=sum+s2;//1人组和3人组人数相同,直接加上剩下二人组的一或零辆车  cout<<sum;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/446569.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ECC 公钥加密 使用相同的ECC公钥对 对 相同的数据进行加密,每次的加密结果是一致的吗?

ECC 公钥加密 使用相同的ECC公钥对 对 相同的数据进行加密&#xff0c;每次的加密结果是一致的吗&#xff1f;不一致里面包装了个临时的点&#xff0c;使用这个增加安全性

C++ primer 第7章 类

成员函数的声明必须在类的内部&#xff0c;定义则既可以在类的内部&#xff0c;也可以在类的外部。 作为接口组成部分的非成员函数&#xff0c;它们的定义和声明都在类的外部。 类可以允许其他类或者函数访问它的非公有成员&#xff0c;方法是令其他类或函数成为它的友元。如果…

codeforces 705A-C语言解题报告

题目网址 题目解析 1.重点:结尾是it,中间使用that连接,所以使用for循环,奇数输出I hate,偶数输出I love,i!n时,输出that 代码 #include<stdio.h> #include<stdlib.h> #define SIZE 100000 int main() {int n0;scanf("%d",&n);if(n1){printf(&quo…

牛客网 链表结构 算法相关内容

链表结构 单链表的节点结构 由以下结构的节点依次连接起来所形成的链叫单链表结构 Clas Node<V>{ V value; Node next; } 双链表的节点结构 由以下结构的节点依次连接起来所形成的链叫双链表结构 Clas Node<V>{ V value; Node next; Node last; } 单链表和双…

C++ primer 第8章 IO库

文章目录IO库类型和头文件IO对象无拷贝或赋值IO流的条件状态文件输入输出ifstream 示例ofstream 示例文件模式以out模式打开文件会丢弃已有数据每次调用open时都会确定文件模式ofstream 保留源文件 追加数据 示例string流istringstream示例ostringstream示例IO库类型和头文件 …

codeforces 486A-C语言解题报告

题目网址 题目解析 1.f(n)(-1)^nn 2.使用long long int 3.总结找出规律: if(i%2!0) return -1(i1)/2; else return i/2; 直接暴力求解—超时 #include<stdio.h> #include<stdlib.h> // TIME_LIMIT_EXCEEDED,此方法不行,超时 //注意规律&#xff01;&#xff01…

C++面试宝典 基本语言(三)

如果同时定义了两个函数&#xff0c;一个带const&#xff0c;一个不带&#xff0c;会有问题吗&#xff1f; 不会&#xff0c;这相当于函数的重载 #include<iostream> class A{ public:void print()const{std::cout << "Hello" << std::endl;}void…

C++ primer 第9章 顺序容器

文章目录顺序容器类型确定使用哪种顺序容器容器库概览容器操作迭代器迭代器支持的所有操作迭代器支持的所有运算迭代器范围对构成范围的迭代器的要求标准库迭代器范围左闭右开的三种性质容器定义和初始化将一个新容器创建为另一个容器的拷贝将array拷贝到vector中的代码与顺序容…

常用单位换算

字节单位换算 B(byte)字节 bit 位 1B 8 bit 1KB&#xff08;Kilobyte&#xff0c;千字节&#xff09;1024B 2^10 B&#xff1b; 1MB&#xff08;Megabyte&#xff0c;兆字节&#xff0c;百万字节&#xff0c;简称“兆”&#xff09;1024KB 2^20 B&#xff1b; 1GB&#xf…

牛客网C++面经 容器和算法

原文网址 参考网址 C语言中文网 请你来说一下map和set有什么区别&#xff0c;分别又是怎么实现的&#xff1f; map和set都是C的关联容器&#xff0c;其底层实现都是红黑树&#xff08;RB-Tree&#xff09;。由于 map 和set所开放的各种操作接口&#xff0c;RB-tree 也都提供…

C语言指针-字符指针整型指针char*s int*a

案例代码 #include<stdio.h> #include<stdlib.h> #include<string.h> int main() {//字符指针char *pstr"good dog ww";printf("字符指针指向的字符串内容:%s\n",pstr);printf("字符指针本身的地址:%p\n",&pstr);printf…

C++ primer 第10章 泛型算法

文章目录概述findcount初识泛型算法只读算法只读算法accumulate只读算法equal写容器元素的算法算法fill算法fill_nback_inserter算法copy算法replace replace_copy重排容器元素的算法sortuniqueunique_copy定制操作向算法传递函数谓词算法stable_sort算法partitionlambda表达式…

C语言常用字符串函数

概括 代码 #include<stdlib.h> #include<stdio.h> #include<string.h> int main() {//常用字符串函数char a[]"abcSDFbnm";char b[]"SD";printf("a的字符串长度:%d\n",strlen(a));printf("b的字符串长度:%d\n",str…

C++ primer 第11章 关联容器

文章目录使用关联容器map示例关联容器概述定义关联容器关联容器值初始化multimap和multiset关键字类型的要求pair类型pair上的操作关联容器操作关联容器额外的类型别名关联容器迭代器map迭代器set迭代器关联容器和算法添加元素向map添加元素检测insert的返回值使用insert代替下…

C++ primer 第12章 动态内存

文章目录前言动态内存与智能指针shared_ptr类shared_ptr和unique_ptr都支持的操作shared_ptr独有的操作make_shared 函数shared_ptr的拷贝和赋值shared_ptr自动销毁所管理的对象shared_ptr还会自动释放相关联的内存程序使用动态内存出于以下原因直接管理内存使用new动态分配和初…

C语言顺序查找二分查找

介绍 顺序查找 按照顺序一个个查找 #include<stdio.h> //顺序查找 int search(int arr[],int len,int aim) {int i;for(i0;i<len;i){if(arr[i]aim){return i;//返回下标 }}return -1;//表示未查询到} int main() {int arr[]{13,355,256,65,234,-1,35,-6,-3,-4,0};…

C++ primer 第12章 12.3 使用标准库:文本查询程序

文章目录使用标准库&#xff1a;文本查询程序文本查询程序设计数据结构在类之间共享数据自己的文本查询程序书中的文本查询程序使用标准库&#xff1a;文本查询程序 我们将实现一个简单的文本查询程序&#xff0c;作为标准库相关内容学习的总结。 我们的程序允许用户在一个给…

C语言二维数组 int arr[2][3]

基础使用 先遍历行再遍历列 #include<stdio.h> //二维数组的基本使用 int main() {//二维数组的初始化int arr1[2][2]{{2,2},{0,0}};int arr2[2][3]{2,2,2,8,8,8};int arr3[6][9];int i,j;for(i0;i<6;i){for(j0;j<9;j){arr3[i][j]1;}}arr3[2][5]0;//打印printf(&…

牛客网C++面经 类和数据抽象

请你来说一下C中struct和class的区别 在C中&#xff0c;可以用struct和class定义类&#xff0c;都可以继承。区别在于&#xff1a;structural的默认继承权限和默认访问权限是public&#xff0c;而class的默认继承权限和默认访问权限是private。另外&#xff0c;class还可以定义…

C++ primer 第13章 拷贝控制

文章目录前言拷贝、赋值与销毁拷贝构造函数合成拷贝构造函数拷贝初始化和直接初始化拷贝初始化的发生&#xff1a;参数和返回值拷贝初始化的限制拷贝赋值运算符重载赋值运算符合成拷贝赋值运算符析构函数析构函数完成的工作什么时候会调用析构函数合成析构函数代码片段调用几次…