CCF CSP攻克之路 —— 2017_03

1:分蛋糕(100)

1.1 题目

在这里插入图片描述

1.2 代码与解答

#include<bits/stdc++.h>
using namespace std;
int a[1005];
int b[1005]={};
int main()
{
	int n,k,ans=0,num=1;
	cin>>n>>k;
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
		b[num] += a[i];
		if (b[num]>=k) num++;
	}
	for(int i=1;i<=1004;i++)
	{
		if(b[i]==0) 
		{
			cout<<i-1;
			break;
		}
	}
    return 0;
}

2: 学生排队(100)

2.1 题目

在这里插入图片描述

2.2 代码与解答

#include<bits/stdc++.h>
using namespace std;
int num[1005],p[1005],q[1005];

int retu(int x)
{
	int y=0;
	for(int i=1;i<1005;i++)
	{
		if(num[i]==x)
		{
			y=i;
			break;
		} 
	}
	return y;
}
int main()
{
	int n,m,temp=0,pp=0;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		num[i] = i;
	}
	for(int i=1;i<=m;i++)
	{
		cin>>p[i]>>q[i];
		pp = retu(p[i]);
		if(q[i]>=0)
		{
			temp = num[pp];
		    for(int j=pp;j<pp+q[i];j++)
		    {
			     num[j] = num[j+1];
		    }
		    num[pp+q[i]] = temp;
		}
		else if(q[i]<0)
		{
			temp = num[pp];
		    for(int j=pp;j>pp+q[i];j--)
		    {
			     num[j] = num[j-1];
		    }
		    num[pp+q[i]] = temp;
		}
	}
	for(int i=1;i<=n;i++)
	{
		cout<<num[i]<<" ";
	}
    return 0;
}

3: Markdown

3.1 题目

在这里插入图片描述

3.2 代码与解答




4: 地铁修建

4.1 题目

在这里插入图片描述

4.2 代码与解答




5: 引水入城

5.1 题目

在这里插入图片描述

5.2 代码与解答




发布了27 篇原创文章 · 获赞 6 · 访问量 524

猜你喜欢

转载自blog.csdn.net/qq_43246110/article/details/104297910