CCF 201909-2 Xiaoming種類のリンゴ(続き)(スコア100)

CCF 201909-2 Xiaoming種類のリンゴ(続き)

覚えておいてください:木は多くの果物や野菜を持つことができます

#include<iostream>

using namespace std;

int flag[1001] = { 0 }; // 用来标记是否该棵树有苹果掉落
int main()
{
	int n;
	cin >> n;
	int T=0, D=0, E=0; // T苹果总数,D发生苹果掉落的苹果总棵数
	             // E相邻连续三棵树发生苹果掉落的情况的组数
	int sum=0;
	
	for (int i = 0; i < n; i++)
	{
		int m;
		cin >> m;
		int v; // 输入的整数,表示对苹果树的操作
		int count = 0;
		for (int j = 0; j < m; j++)
		{
			cin >> v;
			if (v > 0)
			{
				if (sum > v) // 存在苹果掉落
				{
					count++; 
					flag[i] = 1; 
				}
				sum = v;
			}
			else 
				sum += v;
		}
		if (count >= 1) D ++; // 切记:一棵树可以多次蔬果
		T += sum;
	}
	for (int i = 1; i < n-1; i++)
	{
		if (flag[i - 1] == 1 && flag[i] == 1 && flag[i + 1] == 1)
			E++;
	}
	if (flag[0] == 1 && flag[n - 2] == 1 && flag[n - 1] == 1)
		E++; 
	if (flag[0] == 1 && flag[1] == 1 && flag[n - 1] == 1)
		E++;
	cout << T <<" "<< D << " " << E << endl;

	return 0;
}

提出を開始した後、検討は十分に完了していないため、スコアは50になります。木を無視すると、果物と野菜が複数回になる可能性があります。これを考慮して変更し、再度送信すると、100ポイントを獲得できます。

元の記事を公開7件 ・いい ね0件 訪問72件

おすすめ

転載: blog.csdn.net/qq_27538633/article/details/105495318