Submission #481329

#TimeUsernameProblemLanguageResultExecution timeMemory
481329unknownnnnParrots (IOI11_parrots)C++14
0 / 100
8 ms1156 KiB
#include "encoder.h" #include "encoderlib.h" #include <bits/stdc++.h> using namespace std; vector<vector<int> > niza; void encode(int n,int m[]) { for(int i=0 ; i<n ; i++) { string broj=""; int br=m[i]; while(br>0) //konverzija od dec vo bin na brojot { broj+=to_string(br%2); br/=2; } if(broj.size()<8) { for(int j=8-broj.size() ; j>0 ; j--) { broj+="0"; } } reverse(broj.begin(), broj.end()); int o=i; string oo=""; while(o>0) //konverzija od dec vo bin na { oo+=to_string(o%2); o/=2; } if(oo.size()<4) { for(int j=4-oo.size() ; j>0 ; j--) { oo+="0"; } } reverse(oo.begin(), oo.end()); for(int j=0 ; j<8 ; j++) { int pozicija=j; string poz=""; string prakjanje=""; while(pozicija>0) //konverzija na poz na brojot vo bin { poz+=to_string(pozicija%2); pozicija/=2; } if(poz.size()<3) { for(int p=3-poz.size() ; p>0 ; p--) { poz+="0"; } } reverse(poz.begin(), poz.end()); char digit=broj[j]; prakjanje=oo+poz+digit; int dec=0; for(int q=prakjanje.size(); q>=0; q--) { if(prakjanje[q]=='1') { dec+=pow(2,q); } } send(dec); } } }
#include "decoder.h" #include "decoderlib.h" #include <bits/stdc++.h> using namespace std; vector<vector<int> > niza; void decode(int n, int l, int m[]) { for(int i=0 ; i<l ; i++) { string broj=""; int br=m[i]; while(br>0) //konverzija od dec vo bin na brojot { broj+=to_string(br%2); br/=2; } if(broj.size()<8) { for(int j=8-broj.size() ; j>0 ; j--) { broj+="0"; } } reverse(broj.begin(), broj.end()); string poz=""; poz=broj.substr(0,4); //od koja, dolzhina int dec_poz=0; for(int q=poz.size(); q>=0; q--) { if(poz[q]=='1') { dec_poz+=pow(2,q); } } string poz_vo_br=broj.substr(7,3); int dec_poz_vo_br=0; for(int q=poz_vo_br.size(); q>=0; q--) { if(poz_vo_br[q]=='1') { dec_poz_vo_br+=pow(2,q); } } char cifra=broj[7]; int nosena=cifra-'0'; niza[dec_poz][dec_poz_vo_br]=nosena; } for(int i=0 ; i<n ; i++) { string s=""; for(int j=0 ; j<8 ; j++) { s+=to_string(niza[i][j]); } int b=0; for(int q=s.size(); q>=0; q--) { if(s[q]=='1') { b+=pow(2,q); } } output(b); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...