首页 > 其他分享 >相对全的fastio

相对全的fastio

时间:2023-11-02 21:48:57浏览次数:35  
标签:ch EOF FastIO fastio char 相对 gc &&

struct FastIO{
	static const int S=1048576;
	char buf[S],*pL,*pR;int stk[20],Top;
	#define Clear() (fwrite(buf,1,Top,stdout),Top=0)
	#define gc() ( pL==pR &&( pR=(pL=buf)+fread(buf,1,S,stdin),pL==pR )?EOF:*pL++)
	#define pc(ch) ( ( (Top==S)&&(Clear(),1) ) , buf[Top++]=(ch) )
	~FastIO(){Clear();}
	template<typename T>FastIO& operator >> (T&_t){
		_t=0;char ch=gc();bool fg=0;while(ch<'0'||ch>'9'){fg=(ch=='-');ch=gc();}
		while(ch>='0'&&ch<='9'){_t=(_t<<1)+(_t<<3)+(ch&15);ch=gc();}(fg?_t=-_t:0);return *this;
	}
	FastIO& operator >> (char&ch)
	{while(ch=gc(),(ch==' '||ch=='\n'));return *this;}
	FastIO& operator >> (char* _s)
	{for(char ch=gc();ch!='\n'&&ch!=' '&&ch!=EOF;ch=gc())*_s++=ch; return *this;}
	FastIO& getline(char *_s,const char &ed='\n')
	{for(char ch=gc();ch!=ed&&ch!=EOF;ch=gc())*_s++=ch; return *this;}
	FastIO& operator >> (std::string &_s)
	{_s.clear();for(char ch=gc();ch!=' '&&ch!='\n'&&ch!=EOF;ch=gc())_s.push_back(ch);return *this;}
	FastIO& getline(std::string &_s,const char &ed='\n')
	{_s.clear();for(char ch=gc();ch!=ed&&ch!=EOF;ch=gc())_s.push_back(ch);return *this;}
	template<typename T>FastIO& operator << (T _t){
		if(_t<0){pc('-');_t=-_t;}do{stk[++(*stk)]=_t%10;_t/=10;}while(_t);
		while(*stk) pc('0'+stk[(*stk)--]);return *this;
	}
	FastIO& endl(){pc('\n');Clear();}
	FastIO& operator << (const char &ch){pc(ch);return *this;}
	FastIO& operator << (char *_s){while(*_s)pc(*_s++);return *this;}
	FastIO& operator << (const char *_s)
	{int p=0;while(*(_s+p))pc(*(_s+(p++)));return *this;}
	FastIO& operator << (const std::string &str){
		int ed=str.size(),p=0;const char *_s=str.c_str();
		while(p<ed)pc(*(_s+(p++)));return *this;
	}
	#undef Clear
	#undef gc
	#undef pc
}fin,fout;
#define cin fin
#define cout fout

标签:ch,EOF,FastIO,fastio,char,相对,gc,&&
From: https://www.cnblogs.com/weed-yang/p/17806370.html

相关文章

  • JavaSeript在发送AJAX请家时,URL的域名地址是使用绝对地址还是相对地呲?
    在发送AJAX请求时,URL的域名地址可以使用绝对地址或相对地址。绝对地址包含完整的协议、域名和路径,例如:http://example.com/api/data。这种方式适用于需要请求不同域名下的数据的情况。使用绝对地址时,可以确保请求准确地发送到指定的服务器。相对地址只包含相对于当......
  • FastIo driver
    由于你的驱动将要绑定到文件系统驱动的上边,文件系统除了处理正常的IRP 之外,还要处理所谓的FastIo.FastIo是CacheManager 调用所引发的一种没有irp 的请求。换句话说,除了正常的DispatchFunctions 之外,你还得为DriverObject 撰写另一组FastIoFunctions.这组函数的指针在dri......
  • python引用相对路径
    文件夹ants/bees文件夹与learn_data.py隶属于同一个目录data_process   所以引用相对路径的方式即为:classMyData(Dataset):def__init__(self,root_dir,label_dir):self.root_dir=root_dir#根目录,即hymenoptera_data/trainself.label_......
  • JavaScript在发送AJAX请求时,URL的域名地址是使用绝对地址还是相对地址?
    在使用JavaScript发送AJAX请求时,URL的域名地址通常是使用相对地址。相对地址指的是相对于当前页面的URL来确定请求的目标地址。当请求发送到服务器时,浏览器会自动将相对地址转换为完整的绝对URL。这样做的好处是能够更灵活地处理不同环境下的URL路径,同时减少了在JavaScript代码中......
  • python模块导入规则(相对导入和绝对导入)
    python模块可以相对导入和绝对导入,但这两者是不能替换使用的。本文主要讨论工作目录下模块之间的导入规则。其中相对导入前面有一个'.',表示从该脚本所在目录开始索引,而绝对导入前面没有'.',表示从根目录开始索引。首先明确一点,python认为的根目录为当前运行的脚本所在的目录,而......
  • Linux绝对路径和相对路径
    在Linux中,简单的理解一个文件的路径,指的就是该文件存放的位置。只要我们告诉Linux系统某个文件存放的准确位置,那么它就可以找到这个文件。指明一个文件存放的位置,有2种方法,分别是使用绝对路径和相对路径。我们知道,Linux系统中所有的文件(目录)都被组织成以根目录“/”开始的倒......
  • 谈谈selenium4.0中的相对定位
    相对定位历史2021-10-13发布的selenium4.0开始引入,selenium3.X是没有的implementrelativelocatorforfind_element(#9902)4.10维护了下Improvenearrelativelocatorbehavior(#11290)其他都是文档、异常信息方面的处理实例演示D:\selenium\demo\relative......
  • 图形学、02 推导证明 | 任意一点经过透视投影后 z 坐标相对于之前有什么变化
    齐次坐标知识点:\(\begin{bmatrix}x\\y\\z\\1\\\end{bmatrix}\Rightarrow\begin{bmatrix}nx\\ny\\nz\\n\\\end{bmatrix}\)两个都表示同一个点透视投影:先将远截面按一定规则缩放到跟近截面一样大,然后再正交投影缩放规则:远截面缩放后\(z\)不变,缩放过后大小同近......
  • Android入门教程 | UI布局之RelativeLayout 相对布局
    RelativeLayout简述RelativeLayout继承于android.widget.ViewGroup,按照子元素之间的位置关系完成布局,作为Android系统五大布局中最灵活也是最常用的一种布局方式,非常适合于一些比较复杂的界面设计。RelativeLayout和LinearLayout类似,都是ViewGroup,能“容纳”多个子view。R......
  • vscode 中无法使用相对路径问题
    点击左下角管理按钮 点击设置---在搜索框中输入filedir--点击python  勾选下面选项就可以了 ......