题解 洛谷P7285【「EZEC-5」修改数组】

概述

题号 难度 \(AC\)时间及记录
\(\texttt{洛谷P7285}\) \(\texttt{洛谷难度:入门}\) \(\texttt{On 2021/01/23}\)

解析

题目大意较为清晰。
我们可以这样考虑:
我们每改变一个0为1,就会使\(X\)\(Y\)都增加\(1\)
那么我们就不用考虑这一点了,只要把所有的都设为一
一定是最优的
于是不难解决

代码

#include<bits/stdc++.h>
using namespace std;
int N;
int Array[100001];
int main(void)
{
	register int Case;
	cin>>Case;
	while(Case--)
	{
		register int i;
		cin>>N;
		register int Count;
		Count=0;
		for(i=1;i<=N;i++)
		{
			cin>>Array[i];
			if(Array[i]==1)
			{
				Count++;
			}
		}
		cout<<Count<<endl;
		for(i=1;i<=N;i++)
		{
			cout<<1<<' ';
		}
		cout<<endl;
	}
	return 0;
}
posted @ 2021-01-23 19:14  Bushuai_Tang  阅读(122)  评论(0编辑  收藏  举报