• 终极快速读入挂极其使用方法


    当遇到输入很多的时候可以使用(据说1e5以上),能减少相当多的时间

    模板

    #define FI(n) FastIO::read(n)
    namespace FastIO {
    	const int SIZE = 1 << 16;
    	char buf[SIZE], obuf[SIZE], str[60];
    	int bi = SIZE, bn = SIZE, opt;
    	int read(char *s) {
    		while (bn) {
    			for (; bi < bn && buf[bi] <= ' '; bi++);
    			if (bi < bn) break;
    			bn = fread(buf, 1, SIZE, stdin);
    			bi = 0;
    		}
    		int sn = 0;
    		while (bn) {
    			for (; bi < bn && buf[bi] > ' '; bi++) s[sn++] = buf[bi];
    			if (bi < bn) break;
    			bn = fread(buf, 1, SIZE, stdin);
    			bi = 0;
    		}
    		s[sn] = 0;
    		return sn;
    	}
    	bool read(int& x) {
    		int n = read(str), bf;
    
    		if (!n) return 0;
    		int i = 0; if (str[i] == '-') bf = -1, i++; else bf = 1;
    		for (x = 0; i < n; i++) x = x * 10 + str[i] - '0';
    		if (bf < 0) x = -x;
    		return 1;
    	}
    };
    

    使用方法

    在本地运行是看不到输出结果的,需要在文件中查看,但是交到oj上是不需要把结果写在文件中的
    使用实例 POJ1000 A+B

    #include<iostream>
    #include<cstdio>
    using namespace std;
    #define fin freopen("in.txt", "r", stdin)
    #define fout freopen("out.txt", "w", stdout)
    #define FI(n) FastIO::read(n)
    namespace FastIO {
    	const int SIZE = 1 << 16;
    	char buf[SIZE], obuf[SIZE], str[60];
    	int bi = SIZE, bn = SIZE, opt;
    	int read(char *s) {
    		while (bn) {
    			for (; bi < bn && buf[bi] <= ' '; bi++);
    			if (bi < bn) break;
    			bn = fread(buf, 1, SIZE, stdin);
    			bi = 0;
    		}
    		int sn = 0;
    		while (bn) {
    			for (; bi < bn && buf[bi] > ' '; bi++) s[sn++] = buf[bi];
    			if (bi < bn) break;
    			bn = fread(buf, 1, SIZE, stdin);
    			bi = 0;
    		}
    		s[sn] = 0;
    		return sn;
    	}
    	bool read(int& x) {
    		int n = read(str), bf;
    
    		if (!n) return 0;
    		int i = 0; if (str[i] == '-') bf = -1, i++; else bf = 1;
    		for (x = 0; i < n; i++) x = x * 10 + str[i] - '0';
    		if (bf < 0) x = -x;
    		return 1;
    	}
    };
    
    int main()
    {
      //fout; 
      int a,b;
      FI(a),FI(b);
      printf("%d
    ",a+b);
    }
    
    
  • 相关阅读:
    获取自己的网络出口IP地址
    go语言开发IDE
    国内可用的python源
    Tomcat 配置及优化
    大小不固定的图片和多行文字的垂直水平居中
    行内元素与块级元素比较全面的区别和转换
    常用的四种CSS样式表格
    JS鼠标事件大全
    Javascript 5种方法实现过滤删除前后所有空格
    JavaScript trim 实现(去除字符串首尾指定字符)
  • 原文地址:https://www.cnblogs.com/llke/p/10831646.html
Copyright © 2020-2023  润新知