题解 洛谷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;
}
不要妄图追上西坠的太阳,而是要在黎明前就等着它!