如何用c++打出空格?
  • 板块灌水区
  • 楼主whl666666
  • 当前回复10
  • 已保存回复10
  • 发布时间2025/1/21 09:52
  • 上次更新2025/1/21 12:13:02
查看原帖
如何用c++打出空格?
1281591
whl666666楼主2025/1/21 09:52

前言:

灌水区可以发布水帖,其话题应当具有足够信息量、值得讨论,且和程序设计、学习生活及洛谷的使用有关。

如何用c++打出空格?这是一个很哲理的问题,代码如下

#include<bits/stdc++.h>
#define rep(i,l,r) for(int i=(l),i##end=(r);i<=i##end;++i)
#define per(i,r,l) for(int i=(r),i##end=(l);i>=i##end;--i)
#define int long long
#define double long double
#define pii pair<int,int>
#define fi first
#define se second
#define pb push_back
using namespace std;
const int maxn=2e2+10,maxm=1e6+10,mod=1e9+7;
inline int read(){
	int c,w=0,n=0;
	while((c=getchar())<'0'||'9'<c) w=c=='-';
	do n=n*10+c-'0';while('0'<=(c=getchar())&&c<='9');
	return w?-n:n;
}
int write(int n){
	if(n<0) putchar('-'),n=-n;
	if(n>9) write(n/10);
	putchar(n%10+'0');
	return n;
}
inline int ksm(int x,int k){
	int ans=1;
	for(;k;k>>=1,x=x*x%mod) if(k&1) ans=ans*x%mod;
	return ans;
}
namespace dft{
	const int mod=998244353,mg=3,ig=332748118,i2=499122177;
	inline int ksm(int x,int k){
		int ans=1;
		for(;k;k>>=1,x=x*x%mod) if(k&1) ans=ans*x%mod;
		return ans;
	}
	inline void init(int *t,int n){
		int cnt=t[0]=0;
		for(int k=n;k;k>>=1,++cnt);
		rep(i,1,n-1) t[i]=(t[i>>1]>>1)|((i&1)<<cnt-2);
	}
	inline void ntt(int *a,int *t,int n,int x){
		rep(i,0,n-1) if(i<t[i]) swap(a[i],a[t[i]]);
		for(int len=2;len<=n;len<<=1){
			int wadd=ksm(x?mg:ig,(mod-1)/len),x,y,w;
			rep(k,0,n/len-1){
				w=1;
				rep(i,k*len,k*len+(len>>1)-1) x=a[i],y=w*a[i+(len>>1)]%mod,
					a[i]=(x+y)%mod,a[i+(len>>1)]=(x+mod-y)%mod,w=w*wadd%mod;
			}
		}
	}
	inline void doing(int *a,int *b,int n){rep(i,0,n-1) a[i]=a[i]*b[i]%mod;}
	inline void end(int *a,int n){
		int ni=ksm(n,mod-2);
		rep(i,0,n-1) a[i]=a[i]*ni%mod;
	}
	inline void main(int *a,int *b,int *t,int n,int m){
		int k=1;
		for(;k<=n+m+1;k<<=1);
		init(t,k),ntt(a,t,k,1),ntt(b,t,k,1),doing(a,b,k),ntt(a,t,k,0),end(a,k);
	}
}
namespace dinic{
	const int maxn=2e4+10;
	int ett=1,k,fr,bk,now[maxn],cl[maxn],head[maxn],to[maxn],nxt[maxn],val[maxn],f[maxn];
	inline void insert(int u,int v,int w){
		to[++ett]=v,val[ett]=w,nxt[ett]=head[u],head[u]=ett;
		to[++ett]=u,val[ett]=0,nxt[ett]=head[v],head[v]=ett;
	}
	inline int bfs(int s,int t){
		rep(i,1,k) cl[i]=0;
		for(cl[s]=1,f[bk=fr=1]=s;fr<=bk;){
			int x=f[fr++];
			if(x==t) return 1;
			for(int u=now[x]=head[x];u;u=nxt[u]) if(val[u]&&!cl[to[u]]) cl[to[u]]=cl[x]+1,f[++bk]=to[u];
		}
		return 0;
	}
	int dfs(int x,int flow,int t){
		if(x==t) return flow;
		for(int &u=now[x],k;u;u=nxt[u]) if(cl[to[u]]==cl[x]+1&&val[u])
			if(k=dfs(to[u],min(flow,val[u]),t)) return val[u]-=k,val[u^1]+=k,k;
		return 0;
	}
	inline int main(int s,int t){
		int ans=0;
		for(int tmp;bfs(s,t);) while(tmp=dfs(s,INT_MAX,t)) ans+=tmp;
		return ans;
	}
}
signed main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	return 0;
}

注:本代码来自搬运非本人代码

2025/1/21 09:52
加载中...