#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; } |