# include <bits/stdc++.h>
using namespace std;
namespace IOS
{
// inline void read128(__int128 &n){
// bool f=1;n=0;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=!f;
// ch=getchar();}while(ch>='0'&&ch<='9'){n=n*10+(ch^48);ch=getchar();}
// n=(f?n:-n);return;}
// inline void write128(__int128 n){
// if(n<0)putchar('-'),n=-n;if(n>9)write128(n/10);putchar(n%10+'0');return;}
inline void readD(double &n){scanf ("%lf", &n);}
inline void writeD(double n){printf ("%lf", n);}
inline void writeD(double n,int len){printf ("%.*lf",len,n);}
template<typename T>inline void readT(T &n){
bool f=1;n=0;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=!f;ch=getchar(); }
while(ch>='0'&&ch<='9'){n=n*10+(ch^48);ch=getchar();}n=(f?n:-n);return; }
template<typename T>inline void writeT(T n){
if(n<0)putchar('-'),n=-n;if(n>9)writeT(n/10);putchar(n%10+'0');return;}
inline void readS(string &S){
char ch=getchar();while(ch==' '||ch=='\n')ch=getchar();
while(ch!=' '&&ch!='\n')S+=ch,ch=getchar();}
inline void readSL(string &S)
{char ch=getchar();while(ch=='\n')ch=getchar();while(ch!='\n')S+=ch,
ch=getchar();}
inline void writeS(string S){for(int I=0;I<S.length();I++)putchar(S[I]);}
inline int readC(char S[]){scanf ("%s",S);return strlen(S);}
inline void writeC(char S[], int len){for(int I=0;I<len;I++)putchar(S[I]);}
inline void readc (char &ch){ch=getchar();while(ch==' '||ch=='\n')
ch=getchar();}
inline void writec (char ch) { putchar(ch); }
const string ch="c", I="i", J="j", X="n", Y="y", B="b", S="s", L = "x";
template <class T> inline void read (T &n){
if (typeid (n).name ()==I || typeid(n).name()==L) readT (n);
else if (typeid (n).name ()==J) readT (n);
else if (typeid(n).name() == X) readT(n);
else if (typeid (n).name ()==Y) readT (n);
if (typeid(n).name() == B)
{ int k; readT(k); n = (k > 0 ? true : false); }
else if(typeid(n).name()==S)readT(n);
else if(typeid(n).name() == ch) {char ch; readc(ch); n = ch;}}
template<class T,class... Ts> inline void read(T &n,Ts&... xx){
if (typeid (n).name ()==I || typeid (n).name () == L) readT(n);
else if(typeid(n).name()==J)readT(n);
else if(typeid(n).name() == X) readT(n);
else if(typeid(n).name()==Y)readT(n); if(typeid(n).name() == B)
{ int k; readT(k); n = (k > 0 ? true : false); }
else if (typeid(n).name()==S)readT(n);
else if(typeid(n).name()==ch){char ch;readc(ch);n=ch;}read(xx...);}
inline void read (string &n) {readS(n);}
inline void read(char n[]){readC(n);}
inline void read (double &n) {readD(n);}
inline void write(double n){writeD(n);}
inline void write (double n,int len) {writeD(n,len);}
inline void write (string n){writeS(n);}
inline void write(char n[]){writeC(n,strlen(n));}
inline void write (double n,char a){writeD(n);putchar(a);}
inline void write (string n,char a){writeS(n);putchar(a);}
inline void write (char n[],char a){writeC(n,strlen(n));putchar(a);}
inline void write (double n,int len,char a){writeD(n,len);putchar(a);}
template<class T>inline void write(T n,char a){
if (typeid (n).name ()==I || typeid (n).name () == L)writeT(n);
else if(typeid(n).name() == J) writeT(n);
else if(typeid(n).name() == X) writeT(n);
else if(typeid(n).name() == Y) writeT(n);
if(typeid(n).name()==B) { if(n) writeT(1); else writeT(0); }
else if(typeid(n).name() == S) writeT(n);
else if(typeid(n).name() == ch) writec(n);
putchar(a);}
inline void write(double n,string a){writeD(n);writeS(a);}
inline void write(string n,string a){writeS(n);writeS(a);}
inline void write(char n[],string a){writeC(n,strlen(n));writeS(a);}
inline void write(double n,int len,string a){writeD(n,len);writeS(a);}
inline void write(char a,string S){writec(a);writeS(S);}
template<typename T>inline void write(T n,string a){
if(typeid (n).name ()==I || typeid (n).name () == L) writeT(n);
else if(typeid(n).name()==J) writeT(n);
else if(typeid(n).name()==X) writeT(n);else if(typeid(n).name()==Y)
writeT(n);if(typeid(n).name()==B){if(n) writeT(1);else writeT(0);}
else if(typeid(n).name()==S) writeT(n); else if(typeid(n).name()==ch){
writec(n);}writeS(a);}
template<typename T>inline void write(T n){
if(typeid (n).name ()==I || typeid (n).name () == L) writeT(n);
else if(typeid(n).name()==J) writeT(n);
else if(typeid(n).name()==X) writeT(n); else if(typeid(n).name()==Y)
writeT(n);if(typeid(n).name()==B){if(n) writeT(1);else writeT(0);}
else if(typeid(n).name()==S) writeT(n);
else if(typeid(n).name()==ch) writec(n);}
template<typename T,typename... Ts>inline void write(T n,Ts... xx){
if(typeid (n).name ()==I || typeid (n).name () == L) writeT(n);
else if(typeid(n).name()==J) writeT(n);
else if(typeid(n).name()==X) writeT(n);else if(typeid(n).name()==Y)
writeT(n);if(typeid(n).name()==B){if(n) writeT(1);else writeT(0);}
else if(typeid(n).name()==S) writeT(n); else if(typeid(n).name()==ch)
{writec(n);}write(xx...);}
inline void put(string S){for(int I=0;I<S.size();I++)putchar(S[I]);}
}
using namespace IOS;
using namespace std;
typedef long long ll;
// # define int long long
# define lc u << 1
# define rc u << 1 | 1
const char space = ' ', enter = '\n';
signed main ()
{
return 0;
}
标签:typeid,ch,name,void,writeT,else,板子
From: https://www.cnblogs.com/legendcn/p/18301885