自动AC机

  首先,本博客只供娱乐,请不要用于大型考试中.如果被告了也不要怪我.

  考虑评测的原理:10组或20组或更多的数据放在data文件夹里,lemon每次用一个.in文件读入到你的程序里,你的程序会跑出来答案到.out里,lemon再与data里的.out文件进行比对.

  而这个可能称得上算法的东西主要是通过枚举找到当前测试的是哪一组数据,然后去data文件夹里找到.out文件并读入答案,输出答案.这样当然是对的.

  首先深刻理解freopen这个函数:

freopen("123.in","r",stdin);
freopen(const char*, const char*, FILE*) 

  前两个都带*,说明是指针啊.也就是说我们平常用的"123.in"都是文件地址的指针.(最后一个大概是说明类型的,先不管).

  那有没有想过为什么可以直接打开这个叫123.in的文件呢?因为它与.cpp在同一个文件夹里.那么现在如何打开指定位置的文件呢?给出指定的文件位置即可.比如这个123.in可以这样写.

freopen("C:\\Users\\Administrator\\Desktop\\当前代码\\123\\123.in","r",stdin);

  这里都是两个"\\",原因在于,别的没有问题,只有C:后如果用\的话过不了编译,不知道为什么.

  这样的话就可以开始写题了.

  昨天做了一道名为ball的题,以此为例说明一下.

  首先还是正经的把数据读入进来.

  

  然后要清楚in文件的命名规则.在评测机的文件地址是什么,命名方式是1.in还是01.in?

  大多是情况下是不清楚的,我们需要一个函数istream,长得很像某个头文件对吧.这个函数需要头文件

#include<fstream>

  然后我们来判断你要打开的文件是否存在,否则会导致程序运行时错误.

  

 

  暂时没有什么好的方法,只好复制个30次以确保01-09,1-9,10-20都能试一边.

  1.不用fclose好像也没有问题.

  2.init()里一定要把所有的数据都输入进来.

  3.好像不能用fread快读,用getchar也不差啥.

  4.交互题就算了吧?

原文地址:https://www.cnblogs.com/qywyt/p/10390086.html

时间: 2024-10-16 16:44:52

自动AC机的相关文章

自动贩卖机VS无人门店:谁是真正的零售新风口?

原本在线上不断发力,让实体店几乎凋敝的电商,却忽然对线下兴趣大增.阿里疯狂入股.收购线下商超:京东要在全国范围内开设百万家便利店,仅在农村就将开设50万家--这一股浪潮,或将直接改变整个百货零售行业接下来的走势.而同样是在个风口之下,倡导无人管理且自动化运行的贩卖机.门店等,似乎也有将成为新趋势的迹象. 而且关注这一趋势,并不是只有急于开辟线下战场的电商,还有积极转型的传统企业.而自动贩卖机和无人门店究竟谁是真正的零售风口,也将在短兵相接中逐渐展现自己的潜力.或许,在接下来,大众将迅速体验到二者

自动清粪机的日常维护

自动清粪机在日常使用中很容易出现问题,特别是在脏了以后,也不易清洁,今天润生养殖设备就在这里为大家简单介绍下自动清粪机的日常维护方法. 1. 当自动清粪机清粪带跑偏接近头端被动滚筒边沿10mm时,可以通过拧紧涨紧杆上的螺栓调节,当清粪带往回移动三分之一的时候,要适当的放松螺栓,以防止清粪带回跑过头. 2. 当清粪带跑偏挨近被动滚筒边沿时,可以放开涨紧链条,将清粪带用手移动到被动滚筒的中间,再将涨紧链条安装在链轮上,然后用管钳拧紧六棱轴至能不动为止,最后上紧涨紧杆上的螺栓. 3. 如果自动清粪机出

BZOJ 1704: [Usaco2007 Mar]Face The Right Way 自动转身机( 贪心 )

贪心...先枚举k, 然后从左往右扫一遍, 发现位置p的牛的状态不符合就将 [p, p + k ) 的牛都转身, 假如p + k - 1 已经超过了最右边牛的位置那这个k就不符合要求. 符合要求的就可以用来更新answer.这个贪心的正确性是很显然的.前p - 1头牛都已朝前, 再改动它们也做不到更优; 而要让第p头牛转身, 那就只能让[p, p + k )的牛转身. 考虑如何判断位置p的牛的状态, 我们发现p的状态与它本身和[ p - k - 1, p )这个区间内的牛的转身次数有关, 因为转

代写C程序、自动贩卖机C程序代写、代做C语言程序作业

问题描述 假设在某国存在[1,x1,x2,x3,...,xn]多种货币,该国的自动贩卖机在找零时要遵循一个原则--"找零的总张数最少".那么,该如何编写程序,帮助自动贩卖机自动 找零呢? 问题分析 解决这一问题的最直接思路是穷举法.假设需要找零Y元,那么就通过所有的小于Y的货币,列举出找零的所有方案,进而比较哪个总张数最少.这种思路需要在计算中 蕴含有大量的重复,时间复杂度极大.类似问题的一个有效解法是使用动态规划的思想来处理. 求解找零所需要最少货币数 以面值为1,5,10,25的货

【python实例】自动贩卖机

1 # 所有消费记录 2 customer_bill = [] 3 4 # 零售 5 def sale(): 6 print("=" * 38) 7 print("1. 乌龙茶 20".center(30)) 8 print("2. 茉莉花茶 80".center(30)) 9 print("3. 绿茶 8".center(30)) 10 print("4. 红茶 4.5".center(30)) 11 p

BZOJ1704: [Usaco2007 Mar]Face The Right Way 自动转身机

n<=5000个数0或1,每次可以连续对固定长度区间取反,目标把所有1变0,求一个取反区间的固定长度K使取反次数最少. 答案关于K不单调,因此枚举K,对每个K扫一遍区间,遇到1就把连续K个数反转,看最后K-1个数是否在这样一番操作后都为0.为什么?不知道. 区间取反后查询,用差分.n2可过. 1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 #include<cstdlib>

Mysql自动宕机:InnoDB: Cannot allocate memory for the buffer pool

今天早上上班,发现自己使用wordpress搭建的网站不能访问,报如下错误: Error establishing a database connection 赶紧登到自己阿里云服务器(centos7.4)查看mysql服务,通过ps -ef | grep mysql 发现已经没有了mysql进程. 首先要做的是查看mysql日志,通过vi /var/log/mysqld.log果然发现对应的错误异常: 2018-12-26T02:06:16.148626Z 0 [Note] Event Sch

自动贩卖机购买饮料

功能要求: (1)1,5,10元纸币或硬币 (2)饮料只有橙汁,椰汁,矿泉水,早餐奶,售价分别为3.5,4,2,4.5 (3)实现功能:用户投钱和选择饮料,并通过判断之后,给用户吐出饮料和零钱 思路1: (1)先选择商品 (2)先投币 缺陷:1次只能购买一瓶饮料 def vending_machine(): data = {'橙汁':3.5,'椰汁':4,'矿泉水':2,'早餐奶':4.5} choose = input('请输入你要购买的饮料或投入1,5,10元纸币或硬币:') # 先选择商品

AC自动机基础

AC自动机不是自动AC机 简介 看dalao们AC自动机的Blog,大多数奆奆都会感性地说: AC_automation = KMP+TRIE 然而在我重蹈覆辙辗转反侧n次后才明白,这东西说了等于没说. AC自动机是一种有限状态自动机(说了等于没说),它常被用于多模式串的字符串匹配. 在学完AC自动机,我也总结出一句说了等于没说的话: AC自动机是以TRIE的结构为基础,结合KMP的思想建立的. 建立AC自动机 建立一个AC自动机通常需要两个步骤: 基础的TRIE结构:将所有的模式串构成一棵Tr