CCF CSP攻克之路 —— 2019_09

末鹿安然 提交于 2020-02-17 10:25:21

1:小明种苹果(100)*

1.1 题目

在这里插入图片描述

1.2 代码与解答

能够初始化还是初始化数组,从零赋值再用数组指针

#include<bits/stdc++.h>
using namespace std;
int sum[1005] = {},num[1005] = {},p[1005] = {};
int main()
{
	int N,M;//N为苹果树棵数,M是蔬果操作轮数 
	int sum0=0,k,maxx=0,ans=0;//
	cin>>N>>M;
	for(int i=1;i<=N;i++)
	{
		cin>>sum[i];
		ans += sum[i];
		for(int j=1;j<=M;j++)
		{
			cin>>num[j];
			p[i] += abs(num[j]);
			ans += num[j];
		}
		if(maxx<p[i])
		{
			maxx = p[i];
			k = i;
		}
	}
	cout<<ans<<" "<<k<<" "<<maxx;
	return 0;
}


2: 小明种苹果续(100)

2.1 题目

在这里插入图片描述

2.2 代码与解答

#include<bits/stdc++.h>
using namespace std;
int sum[1005] = {},num[1005] = {},p[1005] = {};
int M[1005]={},drop[1005]={};
int main()
{
	int N,D=0,E=0,judge;//N为苹果树棵数
	int k,ans=0;//
	cin>>N;
	for(int i=1;i<=N;i++)
	{
		cin>>M[i];
		cin>>num[1];
		sum[i] = num[1];
		for(int j=2;j<=M[i];j++)
		{
			cin>>num[j];
			if(num[j]>0)
			{
				judge = sum[i] - num[j];
				if(judge>0) drop[i]++;//不止大于1 
				sum[i] = num[j];
			}
			else 
			{
				sum[i] += num[j];
		    }
		}
		ans += sum[i];
	}
	for(int i=1;i<=N;i++)
	{
		if(drop[i]>0) D++;
	}
	for(int i=1;i<=N-2;i++)
	{
		if(drop[i]>0&&drop[i+1]>0&&drop[i+2]>0) E++;
	}
	if(drop[N-1]>0&&drop[N]>0&&drop[1]>0) E++;
	if(drop[2]>0&&drop[N]>0&&drop[1]>0) E++;
	cout<<ans<<" "<<D<<" "<<E;
	return 0;
}

3: 字符画

3.1 题目

在这里插入图片描述

3.2 代码与解答




4: 推荐系统

4.1 题目

在这里插入图片描述

4.2 代码与解答




5:城市规划

5.1 题目

在这里插入图片描述

5.2 代码与解答




标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!