欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

输入输出外挂

程序员文章站 2024-03-17 16:22:28
...

写了这场多校这道题之后,体会到了写对了 输入被卡死 的绝望!要不是中途搞了个外挂,估计要崩溃。所以打算存几个外挂。



适用于纯数字输入

#include <cstdio>
using namespace std;

int Scan()  
{  
    int res = 0, ch, flag = 0;  

    if((ch = getchar()) == '-')             //判断正负  
        flag = 1;  

    else if(ch >= '0' && ch <= '9')           //得到完整的数  
        res = ch - '0';  
    while((ch = getchar()) >= '0' && ch <= '9' )  
        res = res * 10 + ch - '0';  

    return flag ? -res : res;  
}  

int main()
{
    int n;
    n = Scan();
    printf("%d\n", n);
}



仅适用于正整数:

#include <cstdio>
using namespace std;

namespace fastIO { 
    #define BUF_SIZE 100000 
    bool IOerror = 0; 
    inline char nc() { 
        static char buf[BUF_SIZE], *p1 = buf + BUF_SIZE, *pend = buf + BUF_SIZE; 
        if(p1 == pend) { 
            p1 = buf; 
            pend = buf + fread(buf, 1, BUF_SIZE, stdin); 
            if(pend == p1) { 
                IOerror = 1; 
                return -1; 
            } 
        } 
        return *p1++; 
    } 
    inline bool blank(char ch) { 
        return ch == ' ' || ch == '\n' || ch == '\r' || ch == '\t'; 
    } 
    inline void read(int &x) { //将此处改为LL即可输入LL型
        char ch; 
        while(blank(ch = nc())); 
        if(IOerror) 
            return; 
        for(x = ch - '0'; (ch = nc()) >= '0' && ch <= '9'; x = x * 10 + ch - '0'); 
    } 
    #undef BUF_SIZE 
}; 
using namespace fastIO;

int main()
{
    int n;
    read(n);
    printf("%d\n", n);
}
相关标签: 输入输出外挂