有一些毒瘤题目是非常卡时间的,稍微慢一点就过不去,因此,快读应运而生:
但是下面这种写法只能用于读入整数:
#include<iostream> using namespace std; void Read(int &n)//只能读入整数 { n=0; int f=1;//用于记录正负 char ch=getchar(); while(ch<'0'||ch>'9')// { if(ch=='-') f=-1; ch=getchar(); } while(ch>='0'&&ch<='9')//下面两种用法都可以 { //n=(n<<1)+(n<<3)+(ch-'0');// n=(n<<1)+(n<<3)+(ch^48);//相当于 x*10+ch-'0'; ch=getchar(); } n=n*f;//切记乘以f (记录的是+ -) return ; } int main() { int n,m; Read(n); cout<<n<<endl; return 0; }