输入输出优化

原作者看了不会生气的。对吧。

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;

inline int read()
{
    char ch=getchar();
    int re=0;
    bool fl=1;
    /*
    if (ch==‘-‘)
    {
        re=0;
        ch=getchar();
    }
    */
    while (ch>=‘0‘&&ch<=‘9‘)
    {
        re=re*10+ch-‘0‘;
        ch=getchar();
    }
    return fl?re:-re;
}
inline void write(int re)
{
    /*
    if (re<0)
    {
        putchar(‘-‘);
        re=-re;
    }
    */
    if (re>9) write(re/10);
    putchar(re%10+‘0‘);
}
int main()
{
    int n=read(),i,a;
    for (i=1;i<=n;i++)
    {
        a=read();
        write(a);
        putchar(‘\n‘);
    }
    return 0;
}

注释的是考虑负数的情况(我觉得最好写上)

时间: 2024-10-12 13:55:18

输入输出优化的相关文章

输入输出优化(黑科技)

正常版,输入输出优化比较正常,无论是scanf/printf/cin/cout都可以混用 用法:int x=gi; pint(x); 类似这样. #define gc getchar() int g_i() { int tmp=0; bool fu=0; char s; while(s=gc,s!='-'&&(s<'0'||s>'9')) ; if(s=='-') fu=1; else tmp=s-'0'; while(s=gc,s>='0'&&s<

ACM_java输入输出优化

今天的网络赛居然卡java的Scanner ...sad 欺负我是java新手啊  赛后看了大牛的写法,原来是输入输出有优化.......要醉了. StreamTokenizer和PrintWriter 但是用Scanner输入就像cin那样比较慢,当数据量一大会超时的,此时不得不用StreamTokenizer   和  PrintWriter import java.io.*; public class Main { public static void main(String[] args

一维前缀和 - 包含输入输出优化

2017-08-27 09:30:59 writer:pprp 很基础的一个知识点,想要求区间内的和,可以考虑用两个前n项和 相减 输入输出部分,采用自己写的一个函数,用getchar() putchar()来读取和输出结果 用的时候应该注意具体的具体的类型应该根据题目选定 代码如下: /* @theme:一维前缀和 @writer:pprp @declare:a[i] = s[i] - s[i-1] @date:2017/8/27 */ #include <bits/stdc++.h> us

二维前缀和 - 算法学习 - 输入输出优化

2017-08-27 11:11:38 writer:pprp 二维前缀和主要用到了容斥定理,具体实现还是有点复杂的 详见代码: /* @theme:二维前缀和 @writer:pprp @declare:用到容斥定理 @date:2017/8/27 */ #include <bits/stdc++.h> using namespace std; const int maxn = 1010; int n, m, a[maxn][maxn]; //输入优化 inline int read() {

1540: 第k大数 两个数组元素相乘后的第k大( 二分答案 + 输入输出优化 )

1540: 第k大数 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 104 Solved: 6 [Submit][Status][Web Board] Description 有两个序列a,b,它们的长度分别为n和m,那么将两个序列中的元素对应相乘后得到的n*m个元素从大到小排列后的第k个元素是什么? Input 输入的第一行为一个正整数T (T<=10),代表一共有T组测试数据. 每组测试数据的第一行有三个正整数n,m和k(1<=n, m&l

【模板】输入输出优化

输入 inline ll read(){ ll f=1,sum=0; char ch=getchar(); while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();} while(isdigit(ch)){sum=(sum<<1)+(sum<<3)+(ch^48);ch=getchar();} return f*sum; } 输出 inline void write(int x){ if(x<0) putchar('-'),x=-x;

模板 输入输出优化

inline int read() { char ch, c=' '; int res; while (ch = getchar(), ch < '0' || ch>'9') c = ch; res = ch - 48; while (ch = getchar(), ch >= '0' && ch <= '9') res = (res << 3) + (res << 1) + ch - 48; return c == '-' ? -res :

c++输入优化

刚学c++的时候总是在cin或cout上TLE,于是发誓不再用cin.但是cin真的比scanf好看很多,于是百度一下发现这样可以优化cin 只要加上这一句话,就能取消cin与std间的同步性 std::ios::sync_with_stdio(false); 或者读入一个字符串再操作 void fread_analyse() { freopen("data.txt","rb",stdin); int len = fread(buf,1,MAXS,stdin); b

[黑科技]常数优化的一些技巧

感谢wys和小火车普及这些技巧qwq 这篇文章大概没什么营养 我们来看一道十分简单的题目: 设n=131072,输入两个长度为n的数列和,要求输出一个长度为n的数列. 其中,. 首先我们来讲讲这题怎么做. 如果数据是随机的,那么有一种神奇的做法:在a和b中分别挑出最大的p个元素,对于每个i暴力枚举每个p进行更新,这样的复杂度是O(np)的,正确性我不会分析= = 那么数据不是随机的...那么估计没有什么快速的算法,不如暴力! 以下的运行时间均为在我的渣渣笔记本中测试得到,仅供参考.测试环境Ubu