A. 2023

原题链接

细节

1.如果b相乘能达到2023,那么b一定是2023的因子,即2023%b==0
2.只要有1个b不是2023的因子,就no
3.如果用乘法判定是否达到2023,那么有可能会类型溢出(5个不大于2023的数相乘)

综上所述

代码

#include <bits/stdc++.h>
using namespace std;
int main(){
	ios::sync_with_stdio(false),cin.tie(0);
	int T,n,k,i,c,a,flag;
	for(cin>>T;T>0;T--)
	{
		cin>>n>>k;
		c=2023;
		flag=0;
		for(i=0;i<n;i++)
		{
			cin>>a;
			if(c%a!=0)flag=1;
			else c/=a;
		}
		if(flag)cout<<"NO\n";
		else
		{
			cout<<"YES\n";
			for(i=0;i<k-1;i++)cout<<"1 ";
			cout<<c<<'\n';
		}
	}
	return 0;
}
posted @ 2023-12-31 12:27  纯粹的  阅读(26)  评论(0)    收藏  举报