const int MaxS=2100;
int limit,pos;
char St[MaxS];
inline int GetLine(){
pos=0;limit=0;char ch=getchar();
while(ch!='\n'&&ch!='\r'){
St[limit++]=ch;
ch=getchar();
}
St[limit]='\n';
return limit;
}
template<typename inttype>
inline int GetInt(inttype&x){
x=0;bool flag=false;
while(St[pos]>'9'||St[pos]<'0'){
if(St[pos]=='-')flag=true;
pos++;
if(pos==limit)return -1;
}
while(!(St[pos]>'9'||St[pos]<'0')){
x=(x<<3)+(x<<1)+St[pos]-'0';
pos++;
}
if(flag)x=-x;
return 1;
}
template<typename floattype>
inline int GetFloat(floattype&x){
x=0.0;bool flag=false;
while(St[pos]>'9'||St[pos]<'0'){
if(St[pos]=='-')flag=true;
pos++;
if(pos==limit)return -1;
}
floattype tmp1=0.0;
while(!(St[pos]>'9'||St[pos]<'0')){
tmp1=tmp1*10+St[pos]-'0';
pos++;
}
if(St[pos]=='.'){
floattype tmp2=0.0,base=1.0;pos++;
while(!(St[pos]>'9'||St[pos]<'0')){
tmp2=tmp2*10+St[pos]-'0';
pos++;base/=10.0;
}
x+=tmp2*base;
}
x+=tmp1;
if(flag)x=-x;
return 1;
}
FastIO
最新推荐文章于 2025-06-03 11:59:24 发布