Added column1 programs

master
Abhinav Sarkar 2012-05-31 20:35:15 +05:30
commit fcfda903d2
3 changed files with 43 additions and 0 deletions

15
column1/problem3.py Normal file
View File

@ -0,0 +1,15 @@
from bitarray import bitarray
if __name__ == '__main__':
import sys
n = int(sys.argv[1])
arr = (n + 1) * bitarray('0')
for line in sys.stdin:
num = int(line)
arr[num] = 1
for (i, bit) in enumerate(arr):
if bit:
print i

19
column1/problem4.py Normal file
View File

@ -0,0 +1,19 @@
import random
def k_uniq_rand_nums_of_n(n, k):
nums = [0]
for i in xrange(1, n):
nums.append(i)
j = random.randint(0, i)
nums[i] = nums[j]
nums[j] = i
return nums[:k]
if __name__ == '__main__':
import sys
n = int(sys.argv[1])
k = int(sys.argv[2])
for i in k_uniq_rand_nums_of_n(n, k):
print i

9
column1/test.sh Normal file
View File

@ -0,0 +1,9 @@
echo "Generating input"
python problem4.py $1 $2 > input
echo "Generating output"
cat input | python problem3.py $1 > output
echo "Sorting input"
sort -g input > input_sorted
echo "Diffing sorted input and output"
diff -s input_sorted output
rm input input_sorted output