ysu-acm solves and icpc A & B

This commit is contained in:
Xevion
2019-08-24 18:03:31 -05:00
parent 63afb03484
commit 3297bcd237
16 changed files with 156 additions and 1 deletions

View File

@@ -0,0 +1,5 @@
5
2
3
1
2

View File

@@ -0,0 +1,9 @@
import sys, os
# Read the data
path = os.path.join(sys.path[0], 'input')
data = open(path, 'r').read().split('\n')
data = list(map(int, data))
assert all(map(lambda x : x >= 1, data))
print('\n\n'.join('\n'.join('*' * x for x in range(n, 0, -1))for n in data))

View File

@@ -0,0 +1,2 @@
5
100

View File

@@ -0,0 +1,16 @@
import os, sys, math
path = os.path.join(sys.path[0], 'input')
data = open(path, 'r').read().split('\n')
# To keep with the times of 1991, we will use the constraints of Python2 for max integers
maxInt = 9223372036854775807
def extend(n):
res = 1
for x in range(2, n + 1):
res = x * res
return res
x = 100
print(extend(x))
print(math.log(extend(x), 10))

View File

@@ -0,0 +1,23 @@
18
7
11
1
0
3
13
9
12
4
2
0
16
17
4
8
0
10
8
3
6
8
4

View File

@@ -0,0 +1,5 @@
THIS IS THE ('FIRST') LINE IN THE SAMPLE FILE!!!!
ANY CHARACTERS CAN BE IN THE FILE%^$*.(")...
('THIS PART OF THE FILE SHOULD NOT BE CHANGED')
'(BUT THIS PART SHOULD 123........('...............
NUMBERS, 1234567890, ARE OK. OK?

View File

@@ -0,0 +1,14 @@
import re, string, os, sys
pattern = r'([\s\S]*)(\(.*\))([\s\S]*)'
def main():
path = os.path.join(sys.path[0], 'input')
mapping = str.maketrans(string.ascii_uppercase, string.ascii_uppercase[::-1])
print(string.ascii_uppercase)
print(string.ascii_uppercase[::-1])
data = open(path, 'r').read()
matches = re.findall(pattern, data)[0]
result = ''
for match in matches:
result += match if match.startswith('(') else match.translate(mapping)
print(result)

View File

@@ -3,3 +3,19 @@
These problems honestly seem extraordinarily easy, but it's likely do to the constraints of computer programming back then. Kind of cheating, using Python.
[Official Link](https://people.eecs.berkeley.edu/~hilfingr/programming-contest/ysu_91.pdf) | [GitHub Mirror](./ysu_91.pdf)
## Notice
Inputs / Outputs are retyped since the PDF is obsfucated.
## Progress
#1 : Solved
#2 : **Unsolved**
#3 : **Unsolved**
#4 : Solved
#5 : **Unsolved**

View File

@@ -0,0 +1,5 @@
90 80 4
60 35 25
50 140 35
195 165 25
195 40 40

View File

@@ -0,0 +1,27 @@
import sys, os, math
# Pythagorean Distance Formula
def pyth(x1, y1, x2, y2):
return math.sqrt(((x1 - x2) ** 2) + ((y1 - y2) ** 2))
def dist(spot1, spot2):
return pyth(spot1[0], spot1[1], spot2[0], spot2[1])
def main():
def parse(dat):
return list(map(int, dat.split()))
path = os.path.join(sys.path[0], 'input')
data = open(path, 'r').read().split('\n')
listeners = []
for dataset in data:
listeners.append(parse(dataset))
spy = listeners.pop(0)
distances = sorted()
if __name__ == "__main__":
main()

View File

@@ -0,0 +1 @@
24

View File

@@ -0,0 +1 @@
25

View File

@@ -0,0 +1 @@
987654321

View File

@@ -0,0 +1,17 @@
import os, sys
def harshad(n):
return (n % sum(map(int, list(str(n))))) == 0
def main():
inputs = [os.path.join(sys.path[0], 'inputs', x) for x in
os.listdir(os.path.join(sys.path[0], 'inputs'))]
inputs = [int(open(path).read()) for path in inputs]
for i in inputs:
while not harshad(i):
i += 1
print(i)
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,13 @@
# 2018 ICPC East Central North America Regional Contest
[Report](http://acm-ecna.ysu.edu/PastResults/2018/home.html) | []
## Notice
Most of these problems seem modestly easy, if I'm being honest.
## Progress
#1 : Unsovled
#2 : **Solved**

View File

Binary file not shown.