我的快读:
inline LL read(){
LL x=0,f=1;char ch=getchar();
for (;!isdigit(ch);ch=getchar())if (ch=='-')f=-1;
for (;isdigit(ch);ch=getchar())x=(x<<3)+(x<<1)+(ch^48);
return x*f;
}
错误读入(20分,只对第三个点):
n=read();
for (int i=1;i<=n;i++){
c[i]=getchar();
a[i]=read();
a[i+n]=a[i];
c[i+n]=c[i];
}
正确读入:
cin>>n;
for (int i=1;i<=n;i++){
cin>>c[i]>>a[i];
a[i+n]=a[i];
c[i+n]=c[i];
}
有两个问题:
1.这两种读入方式有什么区别?
2.若想用第一种方式读入,该怎么写?
求大佬解答