Latest version

This commit is contained in:
Anthony Wang 2020-05-30 20:59:02 +00:00 committed by repl.it user
parent 4efc505b1c
commit 37bd33cce1
9 changed files with 28 additions and 16 deletions

View file

@ -1,2 +1,2 @@
language = "cpp"
run = "g++ src/*.cpp -o compress -std=c++1y; echo Compilation done; ./compress cowntact.txt 0"
run = "g++ src/*.cpp -o compress -std=c++1y; echo Compilation done; ./compress cowntact.txt 85"

5
B.out Normal file
View file

@ -0,0 +1,5 @@
cw-tpprs.wvng trees,dckng brnchs.looks bhnd.thy'r clsr.barn.bss veers,gllps cllr.sh'll safe.rchs door.blast,door lckd.pnckd.sddnly.spcfclly,strng lngth n.forth.one grnsy,one hlstn.ipt strng lngth n,1<=n<=100.opf ntgr
Original length: 1245
Compressed length: 186
Percent compression: 85.0602%
j菴癉需褷需n7𩁹␑儜㶴~?睷綹稞案錴㶴~貓鵁需n愴-𠂆碫x<𩖞g訝染幽j5鐝而濊z豬鵁蒸.渏殣y<垳摫x嬉狸俗枓肪盦:垳摫鼶>从踠╰~?凾'磮劋y毆鵁蒸娠俗枓枓肪盦端霠{稷脂褧端n愴俳褧:𨦸志濊z豬o7奥犘<E5A5A5>

5
C.out Normal file
View file

@ -0,0 +1,5 @@
vrybdy cloud cmptng days.tryng smpl one,sell mchns one two btchs clld slots.cstmr buy one scnd cpu q scnds ntgr q.ipt cnssts sngl line cntnng four ntgrs q,2<=q<=1000,ndd cmplt lngr btchs,m,1<=m<=1000000,mchns owned,s,0<=s<=1000000,1-scnd slots prchsd,l,0<=l<=1000000,q -scnd slots prchsd
Original length: 1144
Compressed length: 171
Percent compression: 85.0524%
艕z=𩖞踠y嬉脂錴冲>从踠y<垳摫鼶>从g喧魼蒸案k5鐝而濊z豬o7奥羰y毆鵁需霠{稷狸幽盦端n煨癉需n愴-𠂆碫鼶震脂錴z稷狸幽艕冲撿濷{豬o煨m6奥羰y毆o煨薧{豬鵁;𨦸志濊冲撿o愴俳k琢-𦷰殣y<E6AEA3>

5
E.out Normal file
View file

@ -0,0 +1,5 @@
ipt cntns two ntgrs n,1<=n<=200000,d,1<=d<=10^9,dvsr.ipt cntns n ntgrs _1,...,_n,0<=_<=10^9,a_i i th lmnt.opf dsply ntgr ndctng dstnct pairs ndcs (i,j) 1<=<j<=n _/d=_j/d ntgr dvsn c++.e._=_j ndcs i!=j
Original length: 887
Compressed length: 133
Percent compression: 85.0056%
ªÕj5šÍæóy¼^¯×ëõú}>ŸÏçóy¼^¯W«Õêõz½Þïw»Ýîw»]®×k5šM&“Éäòù|¾ßï÷{½^¯×ëõz=žÏçóy¼Þo·[-Ëåòy¼^¯×k5<1A>F£Q¨ÔêuºÝn·Ûív»Ýî÷ûý~¿_¯×ëu:‡Ãáp¸×k5

5
G.out Normal file
View file

@ -0,0 +1,5 @@
blgy lab ucf rcntly hvng prblms trnsmttng gntc sqncs cmptrs.nfrtntly,crrnt rprsnts gntc sqncs strng chrctrs,'a','c','g','t'.lckly,prfssr dvsd easy,gave task ctlly mplmntng.prblm,given gntc sqnc,opt crrspndng bs-10.lkws,given bs-10,opt crrspndng gntc sqnc.line ipt cntn pstv ntgr,q,rprsntng sqncs cnvrt.opf sqnc,opt hdr sqnc #j,j rprsnts sqnc prcssd,bgnnng 1.fllwng hdr,opt thr crrspndng gntc sqnc ntgr given,crrspndng bs-10 gntc sqnc
Original length: 1592
Compressed length: 238
Percent compression: 85.0503%
<EFBFBD>z=槃銛yシ^ッWォユj5孝」ム頡僘>欅ァモ騁コ]ョWォユ<EFBDAB>z=秀」ム鑼コ]ョラ<EFBDAE><EFBE97>~ソ゚oキ[ュヨkオレm6嶇誑ケ\ョラ<EFBDAE>:<0E><EFBFBD><E7A2A3><EFBFBD>ソ゚<EFBDBF>礼>症胝xシ^ッWォUェユ黏コ].陵蚌ケワⅸ{ス^ッラ<EFBDAF>z=<0F>aーXャヨ<EFBDAC>:斟銛<E6969F><E98A9B>ソ゚oキロ煜<EFBE9B><E7859C>?渮銛yジ<EFBDBC>サン荢サ]ョラk5 <>PィTェUェユjオレ咩サ]ョWォユ黏:蕊cアXャヨkオZュVォユ<EFBDAB><EFBE95><EFBFBD>ソ゚<EFBDBF>

BIN
output

Binary file not shown.

View file

@ -2,14 +2,14 @@
#include "huffman.h"
/*int main() {
ifstream enc("test");
ifstream enc("êõz=Çãñx¼Þïw»]®W«Õj5F£Ñèôz=žO'“Éär¹\\®×k5šÍf³Y¬V«Õj5†Ãa°X¬ÖkµZ­V«UªUªUªÕjµÚív»Ýî÷ûý~?");
stringstream ss;
ss << enc.rdbuf();
string s = ss.str();
vector<bool> v;
for (auto& c : s) {
v.push_back(c == '1');
//for (int i = 0; i < 8; ++i) v.push_back(1 & (c >> i));
//v.push_back(c == '1');
for (int i = 0; i < 8; ++i) v.push_back(1 & (c >> i));
}
cout << huffman::decode(v);
}*/

View file

@ -356,17 +356,16 @@ string huffmancompress(string s)
{
vector<bool> enc = huffman::encode(s);
ofstream cout("output");
for (auto b : enc) cout << b;
cout << endl;
string ans;
for (int i = 0; i < (int)enc.size(); ++i) {
for (int i = 0; i < (int)enc.size(); i += 8) {
char out = 0;
for (int j = i; j < min(i + 8, (int)enc.size()); ++j) {
if (enc[j]) out += (1 << (j - i));
}
ans += out;
}
return ans;
cout << ans;
return ans;
}
int huffmancompresslength(string s)
@ -458,8 +457,6 @@ int main(int argc, char *argv[]) {
cout << "Compressed length: " << s.size() << '\n';
cout << "Percent compression: " << 100.0 - ((double)100.0 * s.size() / orig_size) << "%\n";
cout << s << '\n';
ofstream cout("test");
cout << s << '\n';
// WARNING: Huffman will CRASH if you pass a string with only one unique character
/*string orig = "test1234";

7
test
View file

@ -1,6 +1 @@
 <06>蘯汽枓肪j5鐝&磮酺奪n愴-𠂆碫鼶>从踠鸓撿o7奥f訝染俗肪盦榜案錴z稷脂k5鐝而i款癉蒸案k琢俳錴z=𩖞g訝盆褧:䕜蜤籫<E89CA4>?凾志彋端n煨癉需霠廴~貓鵁需霠㛃撿濷{稷脂褧:䕜c崑盆k琢苛幽艕z稷/渏e紱檥㛃>从蓧鈾娠俗肪j5𠱓f喧檥{豬o7奥犘奪褷;垳摫籫~?睷綹話n煨癉需褷蒸娠俗肪j琢俳錴冲震脂錴冲撿o愴俳k5𩁹Ξ侃j菴m嗦m跋苛幽盦:𨦸刨拉j5𠱓犘奪n煨癉;䱽蓧奪n煨薧㛃撿濷{稷脂褧端n煨m嗦薧{豬鵁需n愴俳k5橥蜤籫<E89CA4>?凾志彋榜娠幽j5𩁹␑鋈端n7 <0A>摫x嬉脂k5 <0A>a訏盆k5𠱓羰y毆鵁需霠{豬o煨癉蒸案錴z=𩖞踠y毆o7㛈而濊z豬鵁蒸.渏殣y嬉/渏殣y<𣕚␑儜z稷/𢱑C儜冲震/𠂆滸話霠廴<E99CA0><E5BBB4><EFBFBD>甍/ <05> h款薧㛃>从g3𤅎#<08>嫚話n7 <03>`訏,𢱑"齢d2𤅎␑儜冲震/𠼝%䙺d紱l6奥犘奪n愴苛俗枓*𤰉緳鈾娠幽j琢苛俗枓枓肪盦榜. <05> 双d2竏吁)渄甲彋榜.𠼝甲濊冲震/ <02>僦x<𩖞g3际羰鸓>从踠鸓>从踠y嬉/𢱑"喰夫i廁-嬑% <04>跧8鑥'磮劋y嬉狸俗枓*埄充)嚡碫x毆濷{豬濷㛃>凾'𨧻卜固*嚡滸8鑥'𨧻夫濊㶴~貓o7㛈&<13>b崑,𢱑"齢d2 <0C>摫籫<E691AB>?𣕚#<04> 双d2竏&磮酺鈾案褧:䱽踠╰<E8B8A0>甍/𢱑"喰卜拉j琢苛俗*
<EFBFBD>!<10>b斛魼蒸.𠼝%䙺d紱魼蒸案k琢-嬑%<12>h款m6奥羰y<𢭃志i4橥綹話n7奥羰╰<E7BEB0><E295B0>?从蓧鈾案褧榜. <05> 双d淒染俗*𥄫儜z稷/𠂆滸話n煨薧{=𢭃' <04> 躭卜)
<EFBFBD>!<01>餡訏,𢱑"齢d2𤅎␑儜冲震/𠼝%䙺d紱l6奥犘奪n愴苛俗枓*𥄫h4鐝而i4鐝吁)渄% <04>`訏盆k5鐝而濊㶴<E6BF8A>?垳a訏,𢱑"齢酺奪n7橥蜤x<𢭃志彋:䱽蓧9𧧝g3 <0C>!躭夫濊z=睷c1妉而i款薧{稷脂k琢-𢱑"h款薧㛃>𣕚#<11>b斛魼需褷;䱽蓧鈾案k5𠱓f喧l嗦薧{稷/渏殣鸓>凾志i廁苛幽盦榜.𠂆碫x<𩖞g3𤅎#<11>碫x<𩖞踠鸓>凾'<13>碫籫~貓o7㛈而彋:𨦸刨拉j琢苛+
<05>`0𤅎␑儜冲震/𢱑"喰卜)渄甲濊㶴~甍/𠼝充拉j5橥蜤x<𣕚␑儜冲震/𠼝%𥕜$𥕜$𥕜卜)
<EFBFBD>摫x<睷綹8𧧝g3<19>蜤籫~貓o愴-𦷰緳9䕜蜤籫~?从蓧鈾案褧:𨯩Ξ侃盦端霠廴~?从踠鸓震狸幽j琢-𢱑"喰夫彋:䱽蓧鈾娠+嚡b1妉吁)渄充拉艕㶴<E88995><E3B6B4><EFBFBD>甍/𠂆b崑,𢱑"喰$䙺d紱l6奥犘奪n愴-嬑甲i款m跋俳k菴m跋俳k菴m6𩁹␑儜㶴~?睷綹8鑥志i4𠱓羰╰~甍脂k琢-𠂆b1妉而i4𠱓犘9䕜綹話n7𩁹#喰夫彋:垳嫚話n7橥蜤x嬉狸+𥄫"齢d紱l6奥犘奪n愴-𠂆碫籫<E7A2AB><E7B1AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>貓濷{豬鵁;𨯩#齢劋y<𣕚␑h款m嗦癉需n7橥蜤鼶震狸幽盦端n7橥蜤x<𢭃'磮d2际f喧魼;𨯩#喰卜拉j5𠱓羰鸓>睷c1𤅎␑h廁俳k琢苛俗枓*埄% <09>摫籫<E691AB>貓濷{豬濷㛃>从蓧奪n7𩁹#喰夫彋:𨯩#齢酺9鑥刨固*𥄫㎝汽*嚡碫籫<E7A2AB><E7B1AB>甍狸幽盦榜. <05> 双d2际f喧魼;𨦸志濊冲震/ <05>蘯汽*嚡b1㻰羰鸓震狸+𥄫"<11>碫籫~貓o7㛈而彋:䕜c崑染幽艕z=𣕚#齢d紱l6奥犘9䕜綹8𧧝g3𤅎Ξ侃盦端n7橥蜤籫<E89CA4>?从踠y<𣕚␑儜z稷/𠂆b斛魼蒸娠幽盦榜.𠼝充)
<EFBFBD>a訏,嬑%𥕜$<12>滸8鑥志濊z豬o煨m嗦m嗦薧{=𢭃志濊冲>凾'𨧻$ <04> <08>儜冲撿濷{=垳a訏,𢱑"喰卜拉盦
êõúý~¿ßï÷{=žÏçóy¼^¯×ë