Rt,https://www.luogu.com.cn/problem/T206821 这道题我的程序真的是对的吗?我估计就是瞎搞,如果错了,求一波 Hack。
#include<iostream>
using namespace std;
int n,k,a=-1,b,c,f,cnt;
int main(){
cin>>n>>k;
for(int i=1;i<=k;i++){
for(int j=1;i+j<=k;j++){
if(i*j==n){a=i,b=j;break;}
}
}
for(int i=1;i<=k;i++){
for(int j=1;i+j<=k;j++){
for(int l=1;i+j+l<=k;l++){
if(i*j*l==n){a=i,b=j,c=l,f=1;break;}
}
}
}
if(a==-1) return cout<<a,0;
if(f==1){
cnt=k-a-b-c;
cout<<cnt+3<<endl;
for(int i=1;i<=cnt;i++) cout<<1<<" ";
cout<<a<<" "<<b<<" "<<c;
return 0;
}
cnt=k-a-b;
cout<<cnt+2<<endl;
for(int i=1;i<=cnt;i++) cout<<1<<" ";
cout<<a<<" "<<b;
}