#include<bits/stdc++.h>
typedef long long ll;
#define pb push_back
#define fr first
#define sc second
using namespace std;
int main(){
ios_base::sync_with_stdio(false);cin.tie(NULL);
int t;cin>>t;
while(t--){
int n,m;cin>>n>>m;
int k=1;
if(m<n){
k=-1;
swap(n,m);
}
if(m%n==0){
cout<<m-1<<endl;
for(int i=1;i<m;i++){
cout<<-k<<" ";
}
cout<<endl;
continue;
}
if(k==-1){
swap(n,m);
}
vector<int>ans;
function<void(int,int)>f=[&](int a,int b)->void{
if(a>b){
if(b==0)return;
f(a%b,b);
for(int i=b;i<a;i+=b){
int s=ans.size();
for(int i=0;i<b-s;i++){
ans.pb(1);
}
for(int i=min(b,s);i>=1;i--){
ans.pb(ans[s-i]);
}
}
}
else{
if(a==0)return;
f(a,b%a);
for(int i=a;i<b;i+=a){
int s=ans.size();
for(int i=0;i<a-s;i++){
ans.pb(-1);
}
for(int i=min(a,s);i>=1;i--){
ans.pb(ans[s-i]);
}
}
}
/*cout<<a<<" "<<b<<endl;
for(int x:ans)
cout<<x<<" ";
cout<<endl;*/
};
f(n,m);
int cnt=0,x,y;
for(int i=0;i<n;i++){
if(ans[i]==-1)cnt++;
}
y=1e4/cnt;
x=(y*cnt)/(n-cnt)-1;
int cnt2=0;
for(int i=0;i<m;i++){
if(ans[i]==1)cnt2++;
}
y=min(y,(x*cnt2)/(m-cnt2)-1);
y*=-1;
cout<<ans.size()<<endl;
for(int X:ans){
if(X<0)cout<<y<<" ";
else cout<<x<<" ";
}
cout<<endl;
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |