入门4数组

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了入门4数组相关的知识,希望对你有一定的参考价值。

https://www.luogu.com.cn/training/103#problems

目录

P1428 小鱼比可爱

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N],n;
int main(void)

	cin>>n;
	for(int i=0;i<n;i++) cin>>a[i];
	for(int i=0;i<n;i++)
	
		int cnt=0;
		for(int j=0;j<i;j++)
		
			if(a[i]>a[j]) cnt++;
		
		cout<<cnt<<" ";
	
	return 0;

P1427 小鱼的数字游戏

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N],cnt;
int main(void)

	while(cin>>a[cnt++])
		if(a[cnt-1]==0) break;
	for(int i=cnt-2;i>=0;i--) cout<<a[i]<<" ";
	return 0;

P5727 【深基5.例3】冰雹猜想

#include<bits/stdc++.h>
using namespace std;
int main(void)

	int n; cin>>n;
	vector<int>ve; ve.push_back(n);
	while(n!=1)
	
		if(n%2==0) n=n/2;
		else n=n*3+1;
		ve.push_back(n);
	
	for(int i=ve.size()-1;i>=0;i--) cout<<ve[i]<<" ";
	return 0;

P1047 [NOIP2005 普及组] 校门外的树

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N],n,m; 
int main(void)

	cin>>n>>m;
	while(m--)
	
		int l,r; cin>>l>>r;
		l++,r++;
		a[l]+=1,a[r+1]-=1;
	
	int ans=n+1;
	for(int i=1;i<=n+1;i++) 
	
		a[i]+=a[i-1];
		if(a[i]) ans--;
	
	cout<<ans;
	return 0;

P5728 【深基5.例5】旗鼓相当的对手

#include<bits/stdc++.h>
using namespace std;
const int N=1e4+10;
int a[N],b[N],c[N];
int n,cnt;
int main(void)

	cin>>n;
	for(int i=0;i<n;i++) cin>>a[i]>>b[i]>>c[i];
	for(int i=0;i<n;i++)
	
		for(int j=i+1;j<n;j++)
		
			int flag=1;
			if(abs(a[i]-a[j])>5) flag=0;
			if(abs(b[i]-b[j])>5) flag=0;
			if(abs(c[i]-c[j])>5) flag=0;
			if(abs(a[i]+b[i]+c[i]-a[j]-b[j]-c[j])>10) flag=0;
			if(flag) cnt++;
		
	
	cout<<cnt;
	return 0;

P5729 【深基5.例7】工艺品制作

#include<bits/stdc++.h>
using namespace std;
const int N=110;
int a[N][N][N],n,m,k;
int t;
int main(void)

	cin>>n>>m>>k;
	cin>>t;
	while(t--)
	
		int l1,l2,l3,r1,r2,r3; cin>>l1>>l2>>l3>>r1>>r2>>r3;
		for(int i=l1;i<=r1;i++) 
			for(int j=l2;j<=r2;j++)
				for(int z=l3;z<=r3;z++)
					a[i][j][z]=1;
	
	int cnt=n*m*k;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			for(int z=1;z<=k;z++) if(a[i][j][z]) cnt--;
	cout<<cnt;
	return 0;

P2550 [AHOI2001]彩票摇奖

#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
int a[N],st[N],ans[N],n;
int main(void)

	cin>>n;
	for(int i=0;i<7;i++) cin>>a[i],st[a[i]]=1;
	while(n--)
	
		int cnt=0;
		for(int i=0;i<7;i++)
		
			int x; cin>>x;
			if(st[x]) cnt++;
		
		ans[cnt]++;
	
	for(int i=7;i>=1;i--) cout<<ans[i]<<" ";
	return 0;

P2615 [NOIP2015 提高组] 神奇的幻方


P5730 【深基5.例10】显示屏


P1554 梦中的统计

#include<bits/stdc++.h> 
using namespace std;
int a[15];
int main(void)

	int l,r; cin>>l>>r;
	for(int i=l;i<=r;i++)
	
		int temp=i;
		while(temp)
		
			a[temp%10]++;
			temp/=10;
		
	
	for(int i=0;i<=9;i++) cout<<a[i]<<" ";
	return 0;

P2141 [NOIP2014 普及组] 珠心算测验


P1614 爱与愁的心痛

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N],s[N],n,m;
int main(void)

	cin>>n>>m;
	for(int i=1;i<=n;i++) cin>>a[i],s[i]=s[i-1]+a[i];
	int ans=1e9;
	for(int i=1;i+m-1<=n;i++)
	
		int l=i,r=i+m-1;
		ans=min(ans,s[r]-s[l-1]);
	
	cout<<ans;
	return 0;

P2911 [USACO08OCT]Bovine Bones G

#include<bits/stdc++.h>
using namespace std;
int a[305],n,m,k;
int main(void)

	cin>>n>>m>>k;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			for(int z=1;z<=k;z++)
				a[i+j+z]++;
	int index=0,ans=0;
	for(int i=1;i<=n+m+k;i++) if(a[i]>ans) ans=a[i],index=i;
	cout<<index;
	return 0;

P1161 开灯

#include<bits/stdc++.h>
using namespace std;
const int N=2*1e6+10;
int st[N],n;
int main(void)

	cin>>n;
	while(n--)
	
		double a;
		int t; cin>>a>>t;
		for(int i=1;i<=t;i++)
		
			st[(int)(a*i)]^=1;
		
	
	for(int i=1;i<N;i++)
	
		if(st[i]) 
		
			cout<<i;
			return 0; 
		
	
	return 0;

P5731 【深基5.习6】蛇形方阵

#include<bits/stdc++.h>
using namespace std;
int a[15][15],n;
int dx[4]=0,1,0,-1;
int dy[4]=1,0,-1,0;
int main(void)

	cin>>n;
	int stx=0,sty=0,d=0,k=1;
	while(k<=n*n)
	
		a[stx][sty]=k++;
		int tempx=stx+dx[d],tempy=sty+dy[d];
		if(tempx<0||tempx>=n||tempy<0||tempy>=n||a[tempx][tempy]) d=(d+1)%4;
		stx=stx+dx[d],sty=sty+dy[d];
	
	for(int i=0;i<n;i++)
	
		for(int j=0;j<n;j++) printf(" %2d",a[i][j]);
		puts("");
	
	return 0;

P5732 【深基5.习7】杨辉三角

#include<bits/stdc++.h>
using namespace std;
int a[25][25],n;
int main(void)

	cin>>n;
	a[1][1]=1;
	for(int i=2;i<=n;i++)
		for(int j=1;j<=i;j++)
			a[i][j]=a[i-1][j]+a[i-1][j-1];
	for(int i=1;i<=n;i++)
	
		for(int j=1;j<=i;j++) cout<<a[i][j]<<" ";
		puts("");
	
	return 0;

P1789 【Mc生存】插火把

#include<bits/stdc++.h> 
using namespace std;
const int N=150;
int a[N][N],n,m,k;
int main(void)

	cin>>n>>m>>k;
	while(m--)
	
		int x,y; cin>>x>>y;
		for(int i=max(1,x-2);i<=min(n,x+2);i++) a[i][y]=1;
		for(int i=max(1,y-入门4数组

[算法竞赛入门]蛇形填数

蛇形数组

24:蛇形填充数组

24:蛇形填充数组

蛇形矩阵