现在很多公司都在牛客上面试,很多记录员跟我说他们不懂牛客上??ACM录入代码的模式。ACM输入模式是什么?就是自己构造输入数据格式,填充需要处理的容器。OJ不会给你任何代码,包括包含哪些函数,你必须自己写,最后自己控制返回数据的格式。而里口上是核心代码模式,即待处理的数据已经放入容器中,可以直接写逻辑,例如:classSolution{public:intminimumTotal(vector>&triangle){}};如果你是从一开始就学习算法的,如果你上过力口,在牛客网突然切换到ACM模式会很不爽。因为我在学校的时候是搞ACM的,做过POJ(北大的在线评审系统)和ZOJ(浙江大学的在线评审系统)六七百道题,所以对ACM这个模型非常熟悉。下面就给大家讲一下ACM模式的写法。这里我就以牛客在腾讯2020校园招聘-后台的面试题为例。这道题我就不解释题意了,只是以这道题为例,讲解一下ACM的输入输出格式。标题描述:由于业绩优秀,公司给小Q放了n天假。作为一个工作狂,小Q打算在假期里工作、锻炼或休息。他有一个奇怪的习惯,连续两天不工作或锻炼。只有公司开门,小Q才能上班,只有健身房开门,小Q才能去健身房,小Q一天只能做一件事。鉴于放假期间公司和健身房的营业情况,要求小Q至少休息几天。输入说明:第一行一个整数表示放假天数,第二行n个数,每个数为0或1,第i个数表示公司第i天是否营业,以及第三行n个数字,每个数字为0或1,第i个数字表示健身房在第i天是否开放(1表示开放,0表示关闭)输出说明:整数,表示最少开放的数量小Q休息的日子。例1:输入:411000110输出:2如果这道题是力口的核心代码模式,OJ应该直接给出如下代码:classSolution{public:intgetDays(vector&work,vector&gym){//处理逻辑}};在上面的代码中我们直接写核心逻辑就可以了。work数组和gym数组都填好了,直接用就行了,处理完返回结果,job就结束了。那么让我们看看我们如何编写ACM模式。ACM模式要求写好的代码可以直接在本地运行,所以我们需要写包含哪些库函数,构造输入用例,构造输出用例。以本题为例,为了让代码运行起来,需要包含这些库函数:#include#includeusingnamespacestd;然后开始编写处理输入用例的main函数。示例1是一个完整的测试用例。一般测试完一个用例后,我们需要测试第二个用例,所以使用:while(cin>>n)输入数据。这里输入的n是天数。得到天数后,就可以构造work数组和gym数组了。至此输入用例的构建已经完成,接下来进行逻辑处理,最后返回结果。完整代码如下:#include#includeusingnamespacestd;intmain(){intn;while(cin>>n){vectorgym(n);vectorwork(n);for(inti=0;i>work[i];for(inti=0;i>gym[i];intresult=0;//处理逻辑cout<