From 70f29fa19ea6bbbbac4260cff64d65d7d0dad3b5 Mon Sep 17 00:00:00 2001 From: Arkagedon <38785328+ARKAGEDON@users.noreply.github.com> Date: Sun, 13 Mar 2022 19:40:00 +0100 Subject: [PATCH] Adding python files --- C/Easy_Challenges/ascii_art.c | 18 +++---- C/Easy_Challenges/defibrillators | Bin 17016 -> 0 bytes C/Easy_Challenges/horse-racing-duals.c | 25 ++++++++++ .../{mars_landers_1.c => mars_lander_1.c} | 3 -- C/Easy_Challenges/onboarding.c | 23 +++++++++ C/Easy_Challenges/power_of_thor_1.c | 32 +++++++++---- C/Easy_Challenges/{chuck_norris.c => unary.c} | 2 - C/Medium_Challenges/shadow_of_knight_1.c | 4 +- C/Medium_Challenges/stock_exchange_losses.c | 3 -- Python/Easy_Challenges/defibrillators.py | 25 ++++++++++ Python/Easy_Challenges/horse_racing_duals.py | 12 +++++ Python/Easy_Challenges/mars_lander_1.py | 30 ++++++++++++ Python/Easy_Challenges/mime-type.py | 22 +++++++++ Python/Easy_Challenges/onboarding.py | 11 +++++ Python/Easy_Challenges/power_of_thor_1.py | 27 +++++++++++ Python/Easy_Challenges/temperatures.py | 19 ++++++++ Python/Easy_Challenges/the_descent.py | 7 +++ Python/Medium_Challenges/don't_panic_1.py | 45 ++++++++++++++++++ .../stock_exchange_losses.py | 10 ++++ Python/Medium_Challenges/winamax_battle.py | 32 +++++++++++++ README.md | 2 +- codingameLogo.png | Bin 0 -> 25019 bytes 22 files changed, 320 insertions(+), 32 deletions(-) delete mode 100755 C/Easy_Challenges/defibrillators create mode 100644 C/Easy_Challenges/horse-racing-duals.c rename C/Easy_Challenges/{mars_landers_1.c => mars_lander_1.c} (97%) create mode 100644 C/Easy_Challenges/onboarding.c rename C/Easy_Challenges/{chuck_norris.c => unary.c} (96%) create mode 100644 Python/Easy_Challenges/defibrillators.py create mode 100644 Python/Easy_Challenges/horse_racing_duals.py create mode 100644 Python/Easy_Challenges/mars_lander_1.py create mode 100644 Python/Easy_Challenges/mime-type.py create mode 100644 Python/Easy_Challenges/onboarding.py create mode 100644 Python/Easy_Challenges/power_of_thor_1.py create mode 100644 Python/Easy_Challenges/temperatures.py create mode 100644 Python/Easy_Challenges/the_descent.py create mode 100644 Python/Medium_Challenges/don't_panic_1.py create mode 100644 Python/Medium_Challenges/stock_exchange_losses.py create mode 100644 Python/Medium_Challenges/winamax_battle.py create mode 100644 codingameLogo.png diff --git a/C/Easy_Challenges/ascii_art.c b/C/Easy_Challenges/ascii_art.c index f174f4c..e9d7af0 100755 --- a/C/Easy_Challenges/ascii_art.c +++ b/C/Easy_Challenges/ascii_art.c @@ -1,11 +1,8 @@ -#include #include -#include -#include - int main() { + //Getting the data int L; scanf("%d", &L); int H; @@ -21,13 +18,14 @@ int main() } int size=0; - //On compte la taille du mot + + //Counting the size of the word for (int i =0; i < 257; i++) { if (T[i] != '\0') { size++; - //On convertit notre mot + //Convert the word if (T[i] > 96 && T[i] < 123) T[i] -= 32; } @@ -35,10 +33,10 @@ int main() break; } - //Affichage du mot - for (int i = 0; i < H; i++) //On répète ça le nombre de lignes + //Printing the word + for (int i = 0; i < H; i++) //Repeat number of line times { - for (int j = 0; j< size; j++) //Répétition du nombre de lettre pour afficher la ligne i de chaque lettre + for (int j = 0; j< size; j++) //Repeat number of letter times { int id = T[j] - 65; //fprintf(stderr,"T = %d Id= %d\n",T[j],id); @@ -59,8 +57,6 @@ int main() } printf("\n"); } - // Write an answer using printf(). DON'T FORGET THE TRAILING \n - // To debug: fprintf(stderr, "Debug messages...\n"); return 0; } \ No newline at end of file diff --git a/C/Easy_Challenges/defibrillators b/C/Easy_Challenges/defibrillators deleted file mode 100755 index 423e528704e54736fd379751ae957a3ba23d64c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17016 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 ZwH0!`s+8XKXV!mxt&+IXreI^me*+i`jFSKW diff --git a/C/Easy_Challenges/horse-racing-duals.c b/C/Easy_Challenges/horse-racing-duals.c new file mode 100644 index 0000000..13547fa --- /dev/null +++ b/C/Easy_Challenges/horse-racing-duals.c @@ -0,0 +1,25 @@ +#include +#include + +int compare (const void *arg1, const void *arg2) { + return (*(int*)arg1 - *(int*)arg2); +} + +int main() +{ + int N, diff = 2147483647; + scanf("%d", &N); + int tab[N]; + for (int i = 0; i < N; i++) + scanf("%d", &tab[i]); + + qsort (tab,N,sizeof(int),compare); + for (int i =0; i -#include #include - int main() { // the number of points used to draw the surface of Mars. diff --git a/C/Easy_Challenges/onboarding.c b/C/Easy_Challenges/onboarding.c new file mode 100644 index 0000000..f01a82c --- /dev/null +++ b/C/Easy_Challenges/onboarding.c @@ -0,0 +1,23 @@ +int main() +{ + // game loop + while (1) { + char enemy1[257]; // name of enemy 1 + scanf("%s", enemy1); + int dist1; // distance to enemy 1 + scanf("%d", &dist1); + char enemy2[257]; // name of enemy 2 + scanf("%s", enemy2); + int dist2; // distance to enemy 2 + scanf("%d", &dist2); + + if (dist1 < dist2) { + printf("%s\n", enemy1); + } else { + printf("%s\n", enemy2); + } + + } + + return 0; +} \ No newline at end of file diff --git a/C/Easy_Challenges/power_of_thor_1.c b/C/Easy_Challenges/power_of_thor_1.c index a5e0960..f31fb16 100755 --- a/C/Easy_Challenges/power_of_thor_1.c +++ b/C/Easy_Challenges/power_of_thor_1.c @@ -1,7 +1,4 @@ -#include #include -#include -#include int main() { @@ -17,8 +14,7 @@ int main() scanf("%d%d%d%d", &light_x, &light_y, &initial_tx, &initial_ty); // game loop - while (1) - { + while (1) { // The remaining amount of turns Thor can move. Do not remove this line. int remaining_turns; scanf("%d", &remaining_turns); @@ -29,19 +25,37 @@ int main() if ((initial_tx >= 0 && initial_tx < 40) && (initial_ty >= 0 && initial_ty < 18)) { if (initial_tx > light_x) - dirX = "W", initial_tx--; + { + dirX = "W"; + initial_tx--; + } else if (initial_tx < light_x) - dirX = "E", initial_tx++; + { + dirX = "E"; + initial_tx++; + } else + { dirX = ""; + } if (initial_ty > light_y) - dirY = "N", initial_ty--; + { + dirY = "N"; + initial_ty--; + } else if (initial_ty < light_y) - dirY = "S", initial_ty++; + { + dirY = "S"; + initial_ty++; + } else + { dirY = ""; + } } + + printf("%s%s\n", dirY, dirX); } diff --git a/C/Easy_Challenges/chuck_norris.c b/C/Easy_Challenges/unary.c similarity index 96% rename from C/Easy_Challenges/chuck_norris.c rename to C/Easy_Challenges/unary.c index 5f2f4ec..b2793ac 100755 --- a/C/Easy_Challenges/chuck_norris.c +++ b/C/Easy_Challenges/unary.c @@ -1,6 +1,4 @@ #include -#include -#include //Convert char into binary ascii void charToBin(char c, char *buffer) diff --git a/C/Medium_Challenges/shadow_of_knight_1.c b/C/Medium_Challenges/shadow_of_knight_1.c index a7abf20..31863c7 100755 --- a/C/Medium_Challenges/shadow_of_knight_1.c +++ b/C/Medium_Challenges/shadow_of_knight_1.c @@ -1,7 +1,5 @@ -#include #include -#include -#include + int main() { diff --git a/C/Medium_Challenges/stock_exchange_losses.c b/C/Medium_Challenges/stock_exchange_losses.c index 9a805f4..9a9b25f 100755 --- a/C/Medium_Challenges/stock_exchange_losses.c +++ b/C/Medium_Challenges/stock_exchange_losses.c @@ -1,7 +1,4 @@ -#include #include -#include -#include int main() { diff --git a/Python/Easy_Challenges/defibrillators.py b/Python/Easy_Challenges/defibrillators.py new file mode 100644 index 0000000..1f7bd9f --- /dev/null +++ b/Python/Easy_Challenges/defibrillators.py @@ -0,0 +1,25 @@ +import sys +import math + +def distance (latA, lonA, latB, lonB): + x = (float(lonB) - float(lonA)) * math.cos((float(latA) + float(latB)) / 2) + y = (float(latB) - float(latA)) + return math.sqrt(x**2 + y**2) * 6371 + +lon = input() +lon = float(lon.replace(",", ".")) +lat = input() +lat = float(lat.replace(",", ".")) +n = int(input()) +defib = [input() for i in range(n)] +minDist = float('inf') +minName = "" + +for i in range(n): + entry = defib[i].split(';') + dist = distance(lat, lon, float(entry[5].replace(",", ".")), float(entry[4].replace(",", "."))) + if (dist < minDist): + minDist = dist + minName = entry[1] + +print(minName) diff --git a/Python/Easy_Challenges/horse_racing_duals.py b/Python/Easy_Challenges/horse_racing_duals.py new file mode 100644 index 0000000..3d1fd85 --- /dev/null +++ b/Python/Easy_Challenges/horse_racing_duals.py @@ -0,0 +1,12 @@ +import sys +import math + +n = int(input()) +pi = [int(input()) for i in range(n)] +pi.sort() +min = float('inf') +for i in range(1,n): + if (pi[i] - pi[i-1] < min): + min = pi[i] - pi[i-1] + +print(min) diff --git a/Python/Easy_Challenges/mars_lander_1.py b/Python/Easy_Challenges/mars_lander_1.py new file mode 100644 index 0000000..c92c91a --- /dev/null +++ b/Python/Easy_Challenges/mars_lander_1.py @@ -0,0 +1,30 @@ +import sys +import math + +# Auto-generated code below aims at helping you parse +# the standard input according to the problem statement. + +surface_n = int(input()) # the number of points used to draw the surface of Mars. +for i in range(surface_n): + # land_x: X coordinate of a surface point. (0 to 6999) + # land_y: Y coordinate of a surface point. By linking all the points together in a sequential fashion, you form the surface of Mars. + land_x, land_y = [int(j) for j in input().split()] + +# game loop +while True: + # h_speed: the horizontal speed (in m/s), can be negative. + # v_speed: the vertical speed (in m/s), can be negative. + # fuel: the quantity of remaining fuel in liters. + # rotate: the rotation angle in degrees (-90 to 90). + # power: the thrust power (0 to 4). + x, y, h_speed, v_speed, fuel, rotate, power = [int(i) for i in input().split()] + + # Write an action using print + # To debug: print("Debug messages...", file=sys.stderr, flush=True) + if (y > 1500): + power = 3 + if (y < 1500 and v_speed < -35): + power = 4 + + # 2 integers: rotate power. rotate is the desired rotation angle (should be 0 for level 1), power is the desired thrust power (0 to 4). + print("0 " + str (power)) diff --git a/Python/Easy_Challenges/mime-type.py b/Python/Easy_Challenges/mime-type.py new file mode 100644 index 0000000..4f48848 --- /dev/null +++ b/Python/Easy_Challenges/mime-type.py @@ -0,0 +1,22 @@ +import sys +import math + +n = int(input()) # Number of elements which make up the association table. +q = int(input()) # Number Q of file names to be analyzed. +d = {} +for i in range(n): + # ext: file extension + # mt: MIME type. + ext, mt = input().split() + d[ext.lower()] = mt + +for i in range(q): + fname = input().lower().split(".") # One file name per line. + #print(stderr,fname) + if (len(fname) == 2 and fname[1] in d): + print(d[fname[1]]) + elif (len(fname) > 2 and fname[len(fname)-1] in d): + print(d[fname[len(fname)-1]]) + else: + print("UNKNOWN") + \ No newline at end of file diff --git a/Python/Easy_Challenges/onboarding.py b/Python/Easy_Challenges/onboarding.py new file mode 100644 index 0000000..f406222 --- /dev/null +++ b/Python/Easy_Challenges/onboarding.py @@ -0,0 +1,11 @@ +# game loop +while 1: + enemy_1 = input() # name of enemy 1 + dist_1 = int(input()) # distance to enemy 1 + enemy_2 = input() # name of enemy 2 + dist_2 = int(input()) # distance to enemy 2 + + if (dist_1 < dist_2): + print(enemy_1) + else: + print(enemy_2) diff --git a/Python/Easy_Challenges/power_of_thor_1.py b/Python/Easy_Challenges/power_of_thor_1.py new file mode 100644 index 0000000..b6d99fc --- /dev/null +++ b/Python/Easy_Challenges/power_of_thor_1.py @@ -0,0 +1,27 @@ +# light_x: the X position of the light of power +# light_y: the Y position of the light of power +# initial_tx: Thor's starting X position +# initial_ty: Thor's starting Y position +light_x, light_y, initial_tx, initial_ty = [int(i) for i in input().split()] + +# game loop +while True: + remaining_turns = int(input()) # The remaining amount of turns Thor can move. Do not remove this line. + result = "" + + if (initial_ty > light_y): + result += "N" + initial_ty -= 1 + elif (initial_ty < light_y): + result += "S" + initial_ty += 1 + + if (initial_tx > light_x): + result += "W" + initial_tx += 1 + elif (initial_tx < light_x): + result += "E" + initial_tx -= 1 + + # A single line providing the move to be made: N NE E SE S SW W or NW + print(result) diff --git a/Python/Easy_Challenges/temperatures.py b/Python/Easy_Challenges/temperatures.py new file mode 100644 index 0000000..a3eb37e --- /dev/null +++ b/Python/Easy_Challenges/temperatures.py @@ -0,0 +1,19 @@ +import sys +import math + +n = int(input()) # the number of temperatures to analyse +min = float('inf') +for i in input().split(): + # t: a temperature expressed as an integer ranging from -273 to 5526 + t = int(i) + if (abs(0-t) < abs(0-min)): + min = t + elif min == t: + min = t + elif abs(min) == abs(t): + min = abs(min) + +if (min == float('inf')): + print(0) +else: + print(min) diff --git a/Python/Easy_Challenges/the_descent.py b/Python/Easy_Challenges/the_descent.py new file mode 100644 index 0000000..70c1507 --- /dev/null +++ b/Python/Easy_Challenges/the_descent.py @@ -0,0 +1,7 @@ +import sys +import math + +# game loop +while True: + mountain_h = [int(input()) for i in range(8)] # represents the height of one mountain. + print(mountain_h.index(max(mountain_h))) diff --git a/Python/Medium_Challenges/don't_panic_1.py b/Python/Medium_Challenges/don't_panic_1.py new file mode 100644 index 0000000..06ad5b2 --- /dev/null +++ b/Python/Medium_Challenges/don't_panic_1.py @@ -0,0 +1,45 @@ +import sys +import math + +# Auto-generated code below aims at helping you parse +# the standard input according to the problem statement. + +# nb_floors: number of floors +# width: width of the area +# nb_rounds: maximum number of rounds +# exit_floor: floor on which the exit is found +# exit_pos: position of the exit on its floor +# nb_total_clones: number of generated clones +# nb_additional_elevators: ignore (always zero) +# nb_elevators: number of elevators +nb_floors, width, nb_rounds, exit_floor, exit_pos, nb_total_clones, nb_additional_elevators, nb_elevators = [int(i) for i in input().split()] +print(exit_floor, exit_pos, file=sys.stderr, flush=True) +d = {} +for i in range(nb_elevators): + # elevator_floor: floor on which this elevator is found + # elevator_pos: position of the elevator on its floor + elevator_floor, elevator_pos = [int(j) for j in input().split()] + d[elevator_floor] = elevator_pos +print(d, file=sys.stderr, flush=True) + +round = 0 +# game loop +while True: + round += 1 + inputs = input().split() + clone_floor = int(inputs[0]) # floor of the leading clone + clone_pos = int(inputs[1]) # position of the leading clone on its floor + direction = inputs[2] # direction of the leading clone: LEFT or RIGHT + print(clone_pos, clone_floor, direction, file=sys.stderr, flush=True) + if (clone_floor == exit_floor): + if ((exit_pos < clone_pos and direction == "RIGHT") or (exit_pos > clone_pos and direction == "LEFT")): + print("BLOCK") + else: + print("WAIT") + else: + if ((d.get(clone_floor, clone_pos+1) < clone_pos and direction == "RIGHT") or (d.get(clone_floor,clone_pos-1) > clone_pos and direction == "LEFT")): + print("BLOCK") + else: + print("WAIT") + # Write an action using print + # To debug: print("Debug messages...", file=sys.stderr, flush=True diff --git a/Python/Medium_Challenges/stock_exchange_losses.py b/Python/Medium_Challenges/stock_exchange_losses.py new file mode 100644 index 0000000..c264ba1 --- /dev/null +++ b/Python/Medium_Challenges/stock_exchange_losses.py @@ -0,0 +1,10 @@ +n = int(input()) +max = 0 +max_lost = 0 +for i in input().split(): + curr_lost = int(i) - max + if (curr_lost < max_lost): + max_lost = curr_lost + if (int(i) > max): + max = int(i) +print(max_lost) \ No newline at end of file diff --git a/Python/Medium_Challenges/winamax_battle.py b/Python/Medium_Challenges/winamax_battle.py new file mode 100644 index 0000000..4f005b9 --- /dev/null +++ b/Python/Medium_Challenges/winamax_battle.py @@ -0,0 +1,32 @@ +import sys +import math + +val = {'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'10':10,'J':11,'Q':12,'K':13,'A':14} + +n = int(input()) # the number of cards for player 1 +cardp_1 = [val[input()[:-1]] for i in range(n)] +m = int(input()) # the number of cards for player 2 +cardp_2 = [val[input()[:-1]] for i in range(m)] + +round = 0 + +def smallest_deck(): return min(len(cardp_1), len(cardp_2)) + +while ( smallest_deck() > 0): + round+=1 + print(cardp_1, cardp_2, file=sys.stderr, flush=True) + compare = 0 + while (cardp_1[compare] == cardp_2[compare]): + compare += 4 + if compare > smallest_deck(): print("PAT"); break + + if cardp_1[compare] > cardp_2[compare]: + cardp_1 = cardp_1[compare+1:] + cardp_1[:compare+1] + cardp_2[:compare+1] + cardp_2 = cardp_2[compare+1:] + else: + cardp_2 = cardp_2[compare+1:] + cardp_1[:compare+1] + cardp_2[:compare+1] + cardp_1 = cardp_1[compare+1:] + +winner = 1 if len(cardp_2) == 0 else 2 + +print(winner, round) \ No newline at end of file diff --git a/README.md b/README.md index 43e8ac8..b94faae 100755 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ __Be careful, a lot of my solutions aren't optimized because I didn't took time |Unary | [x](https://github.com/ARKAGEDON/CodingGame/blob/main/C/Easy_Challenges/unary.c) | | |Power of Thor - Chapter 1| [x](https://github.com/ARKAGEDON/CodingGame/blob/main/C/Easy_Challenges/power_of_thor_1.c) | | |Onboarding | [x]() | | -|Mars Lander - Chapter 1 | [x](https://github.com/ARKAGEDON/CodingGame/blob/main/C/Easy_Challenges/mars_landers_1.c) | | +|Mars Lander - Chapter 1 | [x](https://github.com/ARKAGEDON/CodingGame/blob/main/C/Easy_Challenges/mars_lander_1.c) | | |Horse racing duals | [x]() | | |Defibrillators | [x](https://github.com/ARKAGEDON/CodingGame/blob/main/C/Easy_Challenges/defibrillators.c) | | |The descent | [x](https://github.com/ARKAGEDON/CodingGame/blob/main/C/Easy_Challenges/the_descent.c) | | diff --git a/codingameLogo.png b/codingameLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..6e09ad64ad61b0d03d977ecfe4deb394edf68207 GIT binary patch literal 25019 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