大一开始了解ACM,兴趣使然,看了些刘汝佳写的书,颇有心得,于是记录下来,不定时更新。
ACM的输入:
#define LOCAL #include <stdio.h> int main() { #ifdef LOCAL freopen("data.in","r",stdin); freopen("data.out","w",stdout); #endif printf("Hello World!\n"); return 0; }
这是一份比较典型的竞赛代码,其中采用的是重定向的方法,build该代码时,系统会在当前目录下自动生成data.in和data.out两个文件,顾名思义,输入部分保存在data.in中,输出部分保存在data.out中,再和OJ系统评判,重定向的部分被写在#ifdef和#endif之间,其意义为:只有定义了LOCAL,才能编译两条freopen语句。
另外,C语言里的很多缩写,知道全称后,你能对其有更深的理解,例如,stdio全称为Standard Input and Ouput(标准输入输出),stdlib全称为standard libarary(标准库)。
ACM的输入(凭我的阅历)有以下几种:
1.直接输入 //不多说
2.多组输入
多组输入分为两种,一种是输入一个案例后,立马输出该案例的结果
#include <stdio.h> int main() { int n,i,a; while(scanf("%d",&n) != EOF) { while(n--) { scanf("%d",&a); printf("%d\n",!a); } } return 0; }
其中EOF意思是End Of File,是ACM中经常用到的一个玩意。
另一种是多组输入多组输出,用数组保存结果即可。
来源:https://www.cnblogs.com/xdaniel/p/12013995.html