Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

We’re showing branches in this repository, but you can also compare across forks.

base fork: Xorcerer/algo-battle
base: 0e2ab95725
...
head fork: Xorcerer/algo-battle
compare: c0a039a9ba
  • 2 commits
  • 5 files changed
  • 0 commit comments
  • 1 contributor
Commits on Dec 17, 2013
Logan Zhou Updates. 7622b6c
Commits on Dec 18, 2013
Logan Zhou Updated testcases. c0a039a
3  .gitignore
View
@@ -1,3 +1,6 @@
# Compiler output.
*.out
*.result
+*.dSYM
+*.result.txt
+
8 longest-common-substring/Makefile
View
@@ -1,3 +1,11 @@
all:
clang++ --std=c++11 --stdlib=libc++ readfile.cpp acapla.cpp -o acapla.out
clang++ --std=c++11 --stdlib=libc++ readfile.cpp logan.cpp -o logan.out
+
+run:
+ ./acapla.out test_cases.txt > acapla.result.txt
+ ./logan.out test_cases.txt > logan.result.txt
+
+diff:
+ diff acapla.result.txt result.txt
+ diff logan.result.txt result.txt
25 longest-common-substring/gen_test_cases.py
View
@@ -12,13 +12,26 @@ def gen_string_pair():
common_substring = random_str(random.randint(20, 100))
random_addition_str = lambda: random_str(random.randint(10, 20))
- str1 = random_addition_str() + common_substring + random_addition_str()
- str2 = random_addition_str() + common_substring + random_addition_str()
+ t1 = '%sA%sA%s'
+ t2 = '%sB%sB%s'
+ str1 = t1 % (random_addition_str(), common_substring, random_addition_str())
+ str2 = t2 % (random_addition_str(), common_substring, random_addition_str())
return (str1, str2), common_substring
if __name__ == '__main__':
- for i in xrange(10):
- (s1, s2), common_substring = gen_string_pair()
- print s1
- print s2
+ result = []
+
+ with open('test_cases.txt', 'w') as f:
+ for i in xrange(100):
+ (s1, s2), common_substring = gen_string_pair()
+ f.write(s1)
+ f.write('\n')
+ f.write(s2)
+ f.write('\n')
+
+ result.append(common_substring)
+
+ with open('result.txt', 'w') as f:
+ f.write('\n'.join(result))
+ f.write('\n')
100 longest-common-substring/result.txt
View
@@ -0,0 +1,100 @@
+KfzCwik8TqQAJSbxXq5ptP7RkRlFbgCMELU5PugHtGB35SXuIyEP
+Q8Bq7aQnsANGHi4S4yjE5siSx
+7GuaKKrJ6mVc6ItyQPnVUskQT7zof11VQDpro5orjYF7OQ
+cekDe2UOrrELFQ6BOR5svZ0wkoIT0xgq44khu6m4Fe6gX8aJOvn94InA
+7mlWA9vBQBgnIn7DX5s8u7goFxq3brZS6hWLMyUH7rRMScIQ
+yGXTa5YavYJZEtTG5Ev4iFI8zRAPRj3Om4jk8d6KzP4y0ZsP4rHQrolAb0jDFJ9ZJc21SfMHXRNTjdFprYp2negcHQu4p8Ei
+BvSGiLZJ8wGfGN4dzHoXY5dqKEfajKgvaqoDpUL5BoBaanSPPO7gU0MGV3jWAlbQZLoWS4q1DzrF
+LlaGUHNRRoU8ktsixr5k7H5s4HThChMyogXIhAS54XP
+NQWHeSJIb0fhdw5QuIuf3FI50pWUqO1YrIG978VLJiysgFTYmVie512X6vnNWSVrLr8ZP8V92HksgC1bVXZUPJHdKxuLP1G
+d16Ogwcdaujo3SZvpfQBmW5Goi6Sjr7WGlu9cECBEb0ibTQUTyLnLsRgvPfaDpDAtrJuDGjT1NvPjorGgmTk9U6tZlyrcE6g43O
+6Zh8lfLgrQZjuLJfCtIkP6Cp7bxHHsaoIQ
+uTcrKbyN43Fofs7PQxzB5yK3DiUkxmIrQRGa8KqNowmUbBOepmzfSadG7c
+vSyQOv8T8z8ZhB1ANUcsLngrx4kL04t1dHj73t
+Wx4DUsMG8rZH54hkP0pCOMgoAYFmQSisAfwgFozP06bmhyF6e9g9ktFMvcUcWqeE5SE7irbufCw7vAoHtsqVxjIn0C3
+LYZkAeYEFh92KgAjzXGdLdtfmN7zkojpdTyQqu3pjcKGzRZyy
+tH67dKV9uWI7mTSKADnthvtRRZZPfo0WvdfUwJ2UTsw0rhOBDJPpzG9ATYrO7M7MexWBD8aiBZee
+GTLNzD9S4CnwQ2TOzmeefocaz3eD0Gcv0ddpRcx2wlf2dORDno8NyDDuTRC0P0ZGV7iWGtNkjshMJ4Xz8vQzENW4PwYhJhxZ4v33
+nrvp0oFnCkWALVf7dW93DmwukHIBKjTl9WZxfl
+cJcqWpfcukCeFgETwtTbNVy6BAdURBfO2A4RJvg7wP1YZ9rbQyE2C40
+HXdJgAwkBeMGr3cKOjVEDZNAPsmknsghEGtmjTjYxxv36nOyC3GSJZFtyO9gJHbvAb9DytpUxeDqCx0B
+8rp4zwF1q2qO4ko9xIkH29
+EmgLB31KnHSByXQSwKpCDG
+zoZn5vq9bdDjaTpUMfBbnS4rCkhQRUJDaFOjHggz7gd5
+8uncPtpe8yvrKtqYe3v9ow3e3VRHEEBZj84vMeEwfuPzGS57NJyeGmUCjry1htPlXj0zg3GOb2FeK17LQv7eCg3f
+w1QFGld9L45KaAVdoj3TMqldnq4OT4zF4zPXp2IqooFMquFERDwapbuZwoJOWb7t4bgf3gMFOZLwyc
+E7zGA8qSPyWG8hN03guIF7AxlesMu1NaZ6zbF5kBCc7Qxa76KvNs60JttGih4fLC8S4T
+KDoBs1kx8DetVQ8D9soH5ZzmbX0ZdZqbZP1dKK1OUCW8szrqfdGZrYXHRnz81
+DziIs2LDsKPl17DtCOZ7VTwivQ09AAE6wXom2yg9tMPywH8vYWDr
+hqyXwn4QZn3XT3i4nd3Jl
+u7zlM7VvBeNvTFMJHSRL7VeHBNaAIkQbVzn9R80HZjX0kgES2nsxNVA4HnOQABuZ7Fq2UO8r5lFZi5C
+bfJLcDZBPfe2rCnWk3F47iNg0oRh
+Sy37DPTDvuyRuXDAUrhxdTapE4t78wDl3Y8lgoQT5QZ2kDGclt1J2SwmMIcOmo7MACqy8zlJqwDsASTeW5ro2WQH
+ygazhRewlxnuz34HZV8MyVE13fRu4KWTZOTxxpn7YUPuCsir5LxktosTuB1MQwLsEbM0hEm
+44y97wkHDCViZvMMTVMFMikkzHU3WPNsC7Ebm1Wh54y9JssolWvATrZzwPI9O0oEkKwTK8U4WQm6wqYzjaMBkKp42
+8A9X7jXINz2XDmZ7yH38NuqxqWOnLy6WQl3KxlL5jp8R3gVHTY4qMAEjFO6x8nJMBqDUqcO3
+1zwtrgLBICwdUE7ilTp4XFIrv7
+M0oo12VNBKuU5AzN2UBYekO0a3FIxcE
+O6QI8hQkJNR6hsIc02tI4ZpG3JclfhLpRwlq8XksBw0tTwblaXR040K2NDHgZe8qmU4VnplPiFm87pJu6tUiu
+nyhW2p9XTi98Bcg9R2ar4dIR80vNjDOeUJyqbMI3o2PCGNrBsFn26KepQCb4PYceYqZkDHu6nXU9GKmVno
+nuozDARDq7KRbx2WWtbT1CVGVq56JrEyEK2XHQ80wjao0KbjNm4RIkVFD3xwalVzk5cjF14gTA
+BkCn4dNZlVZ4KOpFlVV3AsKNuaFXhiaKC9UNvrGbl5NMBO
+pNeuLcar2TnbT3Mtb2clC1oqWPLchCEqeInJtyCq4T8e6OBZeywI
+d7lb9dGduoE6NjOs8EYSk4QI
+jyCuEZn30TNvRJL2Q8mJ7yjuDukLST9tdtWoF7vVoMrSHLNPAQyIPhf18cNnA7Rt7p619Dr5jVBWprJ2i
+fft5LC5RTGrxkeUtiQFxfQY0TR2qXCvjr7gUc19O7Tkhoqp9ugpfiM3uYPtLIuvIAT
+POfk79ywHzAedFCZtcKn5vWqGy8uYrhbnoIxV5FHkGdksDFVtW7X
+QG1U4oXNF6jE5RDIe6gsM3AYv8Jynski8FT9PFi
+E7VV9H3CZBNxv1ku9OShGtBSBD6iKEgemXR7931K62TR4jI
+Tgq7WzDYueGeYAyrHt3Io3MHO2V6mluiihBmiaJzDJso00leUX2zzPmTkdPxmEgD0mir0QXdrqXsKZYJvpwUIoMH
+Gcxh25ZUD02APIIl5avTjLfYteHku1dptPTDuzW6uDDExZw5XdovAnVe0MnzU27EeS1Q2pyyUb2NOY6B7d3HS7
+RjWKzikdxb5D9JTvrIx8sZJhDnmUMFmrsctFIjLZDphLjkHRO
+XGeT5c2DKp5qqVX4xrgt2yoT7dAgt0DPh6YHEzl6WMutp9XAq8spTybQek19je9SMdEeLifX4SSIKXzL
+Z3r1NAFmwa2iDD6ovxmqL9CkC2zvvB8
+N5lp0QXWdTo2RkIvze7KxQaarVLK9dvEo5Uh
+8ll7wAlnPGDlvLTaKDmeUYuDmc3w1jGenjudURFp90TqMxuNIkJ9vbDU
+zQPcxEFNpok4a9AR0PKJgWlhvQ42J2mI1f6BnMfmt2aUS
+VGucg5KBib86xBqGP6L0VLp7Q9DicSuppksiCYYG7
+XgUTqUwmuFFqgXr3ubEHay8UNpzlTkPlLducYfna5
+HExermtYDlVPolepRzDDJ1HIYQ0SiECWO7XoJSqZMrFmrBwK6dPhcFrrqNjt
+of2dHsic7189lvGk45L4Vg4GHu4uMxCLDym7MOEPVZGjpHzJAQ99nGdoadE0gPZ3bTWn6jPJQN5AwDL0zDAIR
+XcDRO8ieu9Xz9FvakTqHdpSi2aQWKw0RwbuOOzZ5s3kRMYvUUJPEplC22qEB2hENWHWiVMJs6p
+sIefxFkNrGiFyLrXFDyOontIVenmqQTYH
+CclM4C6yFtk6AR4HdNJkJyaBerY9DzuBhLjylEL4kmse5NIREzvrRdKMTeS9N50tc1k2DJYpQfo2o
+OwSOZzc6K5IxiYDWfeuT7vX17W1ei2AfzaoJycvqT7MdX0azL12HoPkv6XQ5IKGwQ5sOxQtD8
+lKMQOIhktamSPLLeuTtoPA6HOSYrSwbGirE6UWKwWdD5wvMiHmOO1srbH9iLvV0dCejeNBt5cvWjW4JG9w
+XCTn966bgWLTae4w7B2M63LKAFoJVkmha1dgym81xnJDJQqOp8Yfsc0CuvlLOGFitiPcMlEnU
+myIvHwQvr0GjIaTGd2DXonL4agg4aaWWviI4dX8HzxkzEAHWYd5JO4ONmCfv9qVkM1R8s5FGuYh0X4MuCf1VTWGhQGtCxr
+ZAdKf1Od3QG3EJjKyY0fOjlwNgbThtt32mb0
+ygbfUWcfMJQKy4BB9pu3nsfkwFdhmEx959CIarIB1IzI71D4pnYtylE0kzlDFeVO56NXi21PmhE8RCGumONJYMzQ8PZ7bRK3mjvu
+Z4z7IupzXwtx3sbOYSbijOLzluoAkfofvQCylW2BeBedMzhdiMHqQFOzWAbnzBAAbX47JfioeY3U4f
+iWlc0lpna1RVMSsNMudul09fgpZB8XyuRJcgE6MPcwBP8A
+keH60UlE4m35h9wEaM23lsKmhIa9VDS9
+Zmw6N1OEaxGlRWTCbmqFRjH6XxChvq56WSCVDTznAcai5BcKAjcf6cBD6c9i89lNMUjok1Z2fxomY4YnfKQEeqhTzccxPZU
+U6AqoGhCxgsAUn8X87rioVPyE7GXa4fa8uDgWwTBL1Ll5maFcYmR7eG
+Rh4xSpfeWuVFRTmOGmbVAsThbqhz2DC
+sZDXYP7YCQCjxyKhXJe10vhBm
+i4supe6MlztZROsDNTUxWA4fx4ZXLfKwBizWco2sMjRuE5K3YCn0cyE1l11p0
+1oqt15XSFwYi2PqemSmZqRY3FZ6DMrb4cKynh5wGnNsdXl8EpCiJkpQ6u99ydoXbbOM
+3eXSpieoYiegaE6BcMYgWvB30BjBi
+VPG3dOH8HBiZ7dhhP7ixFQIRhucY
+NeYp8IFwhgeOZf9wvpVJ89JIqJetO3ADXIj9BT86z0SrDZCjs8wrC5G3bsGBVR
+57UT5OFn3LLPWmdrPcLNiH0rEai6Mxw2EWkNsUUZInyCkf
+by2ybz4x54cj4J7rhqIpwyIX3ZDO9Jk3rtd3NroNpjcuZPEdWDivHvUg2m9eaKM4gVzN3KH5i0prInhChrhWlNgwYhzUs
+hBiIhP899hN7SSdlV58lj771dblgsS0ifyTK72DxU5tS4b5aeA8oV
+1P9iCfHPgSUOP1Kpmq3jJahrr9JJE7vQ1fMM1i
+taTgdUB8bJzKAnWaTqlix1UpjNDYiELbyHJcBNO365oufhGUnm7g0VK4CxACRPI3247h66MohgnupVv2jhuk26NstyEuc1a4o9I
+hnYW7MvXpcoFTUcDcY1gHqg5DRGDUKf0oTvYyBE6Fz6hVUuJhAmLQaQPztx
+3sD384BjWV6WPqn7IH3TVG6JlE8QOGdOn9IVwec5AhJjVD0aiaEd6X4wt9NaK5QpKnPiS3UINewJFTQlALiCo2NVUy4
+kZD5cDwu5jx4Od0MpXqpJzi3sQyuoKv12X7A0TXtSWIqzVkDOpH4BS9HmAo0xKhcAul5i1
+PIoGtY1KlVayFlmxbt20zSp5nYqmp4prKoNKXplgt5CTHprOyHKzGG
+9v4c7vwiuMD5eChLnUE2p3aA43XQdADC
+eVUqsNvLgBDTufpS4sY5syY8i32PvLaZ9bFEgfbg8ObkNC5skMuTGWXxpO5OcDZIzfp3pzYSuEvsOTH
+WVSjvjbuut7p0n6hRiUT1Im5pMu6RR1RWg0hPSEjPYL7tK4MS4GgaLTS8po99L
+nGLJ0lMNs9QwWl1hulaFseQNa9TwWPJMutPbImlxXDk2LhHZmwKx3qeZ4DewfzSXDdFOM3FIXPd0HPUPZHkPJY6
+OEwelZke6WWVfOSB6S9vMiVAeHpDeSgGX0GclFYNrq9c6scLEkVHlsgi9aTmJFJPIYAhz9PSxW7UKhK
+NnoD6egWMJhNOPlfjFcyXhDWWHrlqB6h3jHo
+AVZPINi7gOGRB6LWcywO3Bi70IEx
+M7p5JQURv1TC6XJGJ0o6gOECXHUz8M2AlGeRAU3Mw5fb3jCRundyWvBZ5uMz9Und8FlTN8N1ru7gXJ6Y
+aNzCn277mJX3Q8PlehvO4GRpcg2xku
+t4YtSssAAt8uzm3WhVHqNWF7pXQdg2UCtZpQ6hgv30TFphR5gLM61yYaRqygpNDDj6
220 longest-common-substring/test_cases.txt
View
@@ -1,20 +1,200 @@
-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
+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

No commit comments for this range

Something went wrong with that request. Please try again.