#include<bits/stdc++.h>
using namespace std;
#define nd second
#define st first
int main(){
int t;
cin>>t;
long long wynik[t];
long long fib[94];
fib[1]=1;
fib[2]=2;
for(int i=3;i<=90;i++){
fib[i]=fib[i-1]+fib[i-2];
}
for(int i=0;i<t;i++){
int a,b;
cin>>a;
long long tab[a];
if(a<2){
tab[1]=0;
}
for(int x=0;x<a;x++){
cin>>tab[x];
}
cin>>b;
long long bat[b];
if(b<2){
bat[1]=0;
}
for(int x=0;x<b;x++){
cin>>bat[x];
}
for(int x=a-1;x>1;x--){
tab[x-1]=tab[x-1]+tab[x];
tab[x-2]=tab[x-2]+tab[x];
}
tab[0]=tab[1]*2+tab[0];
for(int x=b-1;x>1;x--){
bat[x-1]=bat[x-1]+bat[x];
bat[x-2]=bat[x-2]+bat[x];
}
bat[0]=bat[1]*2+bat[0];
wynik[i]=bat[0]*tab[0];
}
for(int i=0;i<t;i++){
bool pocz=false;
string napis;
for(int a=90;a>=1;a--){
if(wynik[i]>=fib[a]){
wynik[i]=wynik[i]-fib[a];
pocz=true;
napis=napis+"1";
}
else if(wynik[i]<fib[a]&&pocz==true){
napis=napis+"0";
}
}
cout<<napis.size()<<" ";
for(int a=napis.size()-1;a>=0;a--){
cout<<napis[a]<<" ";
}
cout<<endl;
}
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #include<bits/stdc++.h> using namespace std; #define nd second #define st first int main(){ int t; cin>>t; long long wynik[t]; long long fib[94]; fib[1]=1; fib[2]=2; for(int i=3;i<=90;i++){ fib[i]=fib[i-1]+fib[i-2]; } for(int i=0;i<t;i++){ int a,b; cin>>a; long long tab[a]; if(a<2){ tab[1]=0; } for(int x=0;x<a;x++){ cin>>tab[x]; } cin>>b; long long bat[b]; if(b<2){ bat[1]=0; } for(int x=0;x<b;x++){ cin>>bat[x]; } for(int x=a-1;x>1;x--){ tab[x-1]=tab[x-1]+tab[x]; tab[x-2]=tab[x-2]+tab[x]; } tab[0]=tab[1]*2+tab[0]; for(int x=b-1;x>1;x--){ bat[x-1]=bat[x-1]+bat[x]; bat[x-2]=bat[x-2]+bat[x]; } bat[0]=bat[1]*2+bat[0]; wynik[i]=bat[0]*tab[0]; } for(int i=0;i<t;i++){ bool pocz=false; string napis; for(int a=90;a>=1;a--){ if(wynik[i]>=fib[a]){ wynik[i]=wynik[i]-fib[a]; pocz=true; napis=napis+"1"; } else if(wynik[i]<fib[a]&&pocz==true){ napis=napis+"0"; } } cout<<napis.size()<<" "; for(int a=napis.size()-1;a>=0;a--){ cout<<napis[a]<<" "; } cout<<endl; } return 0; } |
English