diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 1fac4d5..0000000 --- a/.gitignore +++ /dev/null @@ -1,43 +0,0 @@ -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ -.kotlin - -### IntelliJ IDEA ### -.idea/modules.xml -.idea/jarRepositories.xml -.idea/compiler.xml -.idea/libraries/ -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### Eclipse ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ - -### Mac OS ### -.DS_Store \ No newline at end of file diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..df67d0e --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +NCPC26p2 \ No newline at end of file diff --git a/.idea/NCPC.iml b/.idea/NCPC.iml new file mode 100644 index 0000000..4c94235 --- /dev/null +++ b/.idea/NCPC.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.idea/editor.xml b/.idea/editor.xml new file mode 100644 index 0000000..ca29dcc --- /dev/null +++ b/.idea/editor.xml @@ -0,0 +1,101 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 85779cd..d1eeebe 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,9 @@ + + + diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..de0e82d --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/A_FizzBuzz.cpp b/A_FizzBuzz.cpp new file mode 100644 index 0000000..697dca4 --- /dev/null +++ b/A_FizzBuzz.cpp @@ -0,0 +1,33 @@ +// +// Created by zacharias on 2026-04-17. +// + +#include +#include + + +int main() { + int num1; // Upper stop + int num2; // Fizz + int num3; // Buzz + scanf("%d %d %d", &num1, &num2, &num3); + //std::cout << "num1: " << num1 << " num2: " << num2 << " num3: " << num3 << std::endl; + + int fizz = 0; + int buzz = 0; + int fizzBuzz = 0; + + for (int i = 1; i <= num1; i++) { + if (i%num2 == 0 && i%num3 == 0) { + fizzBuzz++; + continue; + } + if (i%num2 == 0) { + fizz++; + } + if (i%num3 == 0) { + buzz++; + } + } + std::cout << fizz << " " << buzz << " " << fizzBuzz << std::endl; +} \ No newline at end of file diff --git a/A_FizzBuzz.h b/A_FizzBuzz.h new file mode 100644 index 0000000..4c0f387 --- /dev/null +++ b/A_FizzBuzz.h @@ -0,0 +1,8 @@ +// +// Created by zacharias on 2026-04-17. +// + +#ifndef NCPC26P2_A_FIZZBUZZ_H +#define NCPC26P2_A_FIZZBUZZ_H + +#endif //NCPC26P2_A_FIZZBUZZ_H \ No newline at end of file diff --git a/B_CD.cpp b/B_CD.cpp new file mode 100644 index 0000000..8c09533 --- /dev/null +++ b/B_CD.cpp @@ -0,0 +1,42 @@ +// +// Created by zacharias on 2026-04-17. +// + +#include + +int main() { + int n; + int m; + + + while (scanf("%d %d", &n, &m) == 2 && n != 0 && m != 0) { + int jack[n]; + int jill[m]; + + for (int i = 0; i < n; i++) { + scanf("%d", &jack[i]); + } + for (int i = 0; i < m; i++) { + scanf("%d", &jill[i]); + } + + int i = 0; + int j = 0; + int total = 0; + + while (i < n && j < m) { + if (jack[i] == jill[j]) { + total++; + i++; + j++; + } + else if (jack[i] < jill[j]) { + i++; + } + else { + j++; + } + } + printf("%d\n", total); + } +} \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..d61fcae --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 4.1) +project(NCPC26p2) + +set(CMAKE_C_STANDARD 23) +set(CMAKE_CXX_STANDARD 23) + +add_executable(NCPC26p2 + G.cpp) \ No newline at end of file diff --git a/E_Hexadecimal_Confusion.cpp b/E_Hexadecimal_Confusion.cpp new file mode 100644 index 0000000..833506b --- /dev/null +++ b/E_Hexadecimal_Confusion.cpp @@ -0,0 +1,118 @@ +// +// Created by zacharias on 2026-04-17. +// + +#include +#include + +int main() { + int n; + + scanf("%d", &n); + + int minNumbers[n]; + int maxNumbers[n]; + + for (int i = 0; i < n; i++) { + minNumbers[i] = 0; + maxNumbers[i] = 0; + char number[4]; + scanf("%s", number); + + for (int j = 0; j < 4; j++) { + switch (number[j]) { + case '0': { + minNumbers[i] += 0; + maxNumbers[i] += 0; + break; + } + case '1': { + minNumbers[i] += 1; + maxNumbers[i] += 1; + break; + } + case '2': { + minNumbers[i] += 2; + maxNumbers[i] += 2; + break; + } + case '3': { + minNumbers[i] += 3; + maxNumbers[i] += 3; + break; + } + case '4': { + minNumbers[i] += 4; + maxNumbers[i] += 4; + break; + } + case '5': { + minNumbers[i] += 5; + maxNumbers[i] += 5; + break; + } + case '6': { + minNumbers[i] += 6; + maxNumbers[i] += 6; + break; + } + case '7': { + minNumbers[i] += 7; + maxNumbers[i] += 7; + break; + } + case '8': { + minNumbers[i] += 8; + maxNumbers[i] += 11; + break; + } + case '9': { + minNumbers[i] += 9; + maxNumbers[i] += 9; + break; + } + case 'A': { + minNumbers[i] += 10; + maxNumbers[i] += 10; + break; + } + case 'B': { + minNumbers[i] += 8; + maxNumbers[i] += 11; + break; + } + case 'C': { + minNumbers[i] += 12; + maxNumbers[i] += 12; + break; + } + case 'D': { + minNumbers[i] += 13; + maxNumbers[i] += 13; + break; + } + case 'E': { + minNumbers[i] += 14; + maxNumbers[i] += 14; + break; + } + case 'F': { + minNumbers[i] += 15; + maxNumbers[i] += 15; + break; + } + default: break; + } + } + } + + int maxFinal = 0; + int minFinal = 0; + + for (int i = 0; i < n; i++) { + minFinal += minNumbers[i]; + maxFinal += maxNumbers[i]; + } + + std::cout << std::hexfloat << minFinal << " " << maxFinal << std::endl; +} diff --git a/G.cpp b/G.cpp new file mode 100644 index 0000000..1f1db81 --- /dev/null +++ b/G.cpp @@ -0,0 +1,41 @@ +// +// Created by zacharias on 2026-04-17. +// + +#define MAX 101 +#include + +int main() { + int size = 0; + + while (scanf("%d", &size) == 1) { + for (int x = 0; x < size; x++) { + char word[MAX]; + char newword[MAX]; + + scanf("%s", word); + + int i = 0; + int u = 0; + + while (word[i] != '\0') { + if (word[i] == word[i+1] || (i != 0 && word[i+1] != '\0' && (word[i] == 'a' || word[i] == 'e' || word[i] == 'i' || word[i] == 'o' || word[i] == 'u'))) { + i++; + } + else { + if (word[i+1] == '\0') { + newword[u+1] = '\0'; + } + newword[u] = word[i]; + i++; + u++; + } + } + if (x+1 != size) { + printf("%s ", newword); + } else { + printf("%s\n", newword); + } + } + } +} diff --git a/H.cpp b/H.cpp new file mode 100644 index 0000000..ff96ab1 --- /dev/null +++ b/H.cpp @@ -0,0 +1,20 @@ +// +// Created by zacharias on 2026-04-17. +// + +#include + +int main() { + int size = 0; + while (scanf("%d", &size) == 1) { + int total = 0; + for (int i = 0; i < size; i++) { + int n = 0; + scanf("%d", &n); + if (n < 0) { + total++; + } + } + printf("%d\n", total); + } +} diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 973cc48..0000000 --- a/build.gradle +++ /dev/null @@ -1,20 +0,0 @@ -plugins { - id 'java' -} - -group = 'org.example' -version = '1.0-SNAPSHOT' - -repositories { - mavenCentral() -} - -dependencies { - testImplementation platform('org.junit:junit-bom:5.10.0') - testImplementation 'org.junit.jupiter:junit-jupiter' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' -} - -test { - useJUnitPlatform() -} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 249e583..0000000 Binary files a/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 8d4a764..0000000 --- a/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Sat Oct 04 11:03:43 CEST 2025 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew deleted file mode 100755 index 1b6c787..0000000 --- a/gradlew +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat deleted file mode 100644 index ac1b06f..0000000 --- a/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index 4c53d06..0000000 --- a/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'NCPC-g' \ No newline at end of file diff --git a/src/main/java/com/kattis/ncpc25/log/rider/A.java b/src/main/java/com/kattis/ncpc25/log/rider/A.java deleted file mode 100644 index ec46b39..0000000 --- a/src/main/java/com/kattis/ncpc25/log/rider/A.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.kattis.ncpc25.log.rider; - -import java.io.BufferedReader; -import java.io.InputStreamReader; -import java.util.Random; - -public class A { - public static void main(String[] args) throws Exception { - BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); - int[] nums = getComponents(Integer.parseInt(in.readLine())); - System.out.println(nums[0] + " " + nums[1]); - } - - public static int[] getComponents(int input) - { - int num = new Random().nextInt(-999, 1000); - int num2 = 0; - if(num == 0) - { - num = new Random().nextInt(-999, 1000); - } - if(num < input) - { - num2 = input-num; - } - else if (input < 0 && input < num) { - num2 = input - num; - } - else if (num > input) { - num2 = input - num; - } - else{ - num +=1; - num2 -= 1; - } - if(num >= 1000 || num <= -1000 || num2 >= 1000 || num2 <= -1000) - return getComponents(input); - return new int[]{num, num2}; - } -} diff --git a/src/main/java/com/kattis/ncpc25/log/rider/C.java b/src/main/java/com/kattis/ncpc25/log/rider/C.java deleted file mode 100644 index 9287929..0000000 --- a/src/main/java/com/kattis/ncpc25/log/rider/C.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.kattis.ncpc25.log.rider; - -import java.io.BufferedReader; -import java.io.InputStreamReader; -import java.util.MissingFormatArgumentException; - -public class C { - - public static final int MINUTES_IN_A_DAY = 1_440; - - public static void main(String[] args) throws Exception{ - BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); - String start = in.readLine(); - String end = in.readLine(); - - String out = countTime(start, end); - System.out.println(out); - } - - public static String countTime(String start, String end) - { - if(start.equalsIgnoreCase(end)) - { - return "7 days"; - } - - int startTime = formatedTimeToMin(start); - int endTime = formatedTimeToMin(end); - - if(endTime < startTime) - { - endTime += MINUTES_IN_A_DAY*7; - } - - int totalTime = endTime-startTime; - - int days = totalTime / MINUTES_IN_A_DAY; - int hours = (totalTime - (days * MINUTES_IN_A_DAY)) / 60; - int minutes = (totalTime - (days * MINUTES_IN_A_DAY) - (hours * 60)); - - int components = 0; - if(days > 0) - { - components += 1; - } - if(hours > 0) - { - components += 1; - } - if(minutes > 0) - { - components += 1; - } - - StringBuilder out = new StringBuilder(); - if(days > 0) - { - out.append(days).append(" day").append((days == 1?"":"s")); - } - if(hours > 0) - { - if(!out.isEmpty()) - { - if(components == 2) - { - out.append(" and "); - } - else { - out.append(", "); - } - } - out.append(hours).append(" hour").append((hours == 1?"":"s")); - } - if(minutes > 0) - { - if(!out.isEmpty()) - { - if(components == 2) - { - out.append(" and "); - } - else { - out.append(", "); - } - } - out.append(minutes).append(" minute").append((minutes == 1?"":"s")); - } - - return out.toString(); - } - - public static int formatedTimeToMin(String formated) - { - String day, time; - day = formated.split(" ")[0]; - time = formated.split(" ")[1]; - int min = 0; - - min += switch (day) { - case "Mon" -> MINUTES_IN_A_DAY; - case "Tue" -> MINUTES_IN_A_DAY*2; - case "Wed" -> MINUTES_IN_A_DAY*3; - case "Thu" -> MINUTES_IN_A_DAY*4; - case "Fri" -> MINUTES_IN_A_DAY*5; - case "Sat" -> MINUTES_IN_A_DAY*6; - case "Sun" -> MINUTES_IN_A_DAY*7; - default -> 0; - }; - - String hour = time.split(":")[0]; - String minute = time.split(":")[1]; - - min += Integer.parseInt(minute); - min += Integer.parseInt(hour)*60; - - return min; - } -} diff --git a/src/main/java/com/kattis/ncpc25/log/rider/D.java b/src/main/java/com/kattis/ncpc25/log/rider/D.java deleted file mode 100644 index 6202c6a..0000000 --- a/src/main/java/com/kattis/ncpc25/log/rider/D.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.kattis.ncpc25.log.rider; - -import java.awt.*; -import java.io.BufferedReader; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.Arrays; - -public class D { - public static void main(String[] args) throws Exception { - BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); - int count = Integer.parseInt(in.readLine()); - Point[] points = new Point[count]; - for(int i = 0; i < count; i++) - { - String line = in.readLine(); - int n1 = Integer.parseInt(line.split(" ")[0]); - int n2 = Integer.parseInt(line.split(" ")[1]); - points[i] = new Point(n1, n2); - } - - double length = getTotalLength(points); - System.out.println(length); - } - - public static double getTotalLength(Point[] points) - { - points = sort(points); - double out = 0; - Point pLast = null; - for(Point p : points) - { - if(pLast == null) - { - pLast = p; - continue; - } - out += pLast.distance(p); - } - return out; - } - - public static Point[] sort(Point[] in) - { - ArrayList out = new ArrayList<>(); - ArrayList left = new ArrayList<>(Arrays.stream(in).toList()); - Point p1, p2, p3; - if(!left.isEmpty()) p1 = left.removeFirst(); - if(!left.isEmpty()) p2 = left.removeFirst(); - if(!left.isEmpty()) p3 = left.removeFirst(); - - //if(p3 == null) - //{ - // out.put - //} - - //if(p1.distance(p3)) - - return out.toArray(new Point[0]); - } -} diff --git a/src/main/java/com/kattis/ncpc25/log/rider/G.java b/src/main/java/com/kattis/ncpc25/log/rider/G.java deleted file mode 100644 index 9c692c0..0000000 --- a/src/main/java/com/kattis/ncpc25/log/rider/G.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.kattis.ncpc25.log.rider; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.ArrayList; - -public class G { - public static void main(String[] args) throws IOException { - BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); - int n,m,k; - String line = in.readLine(); - n = Integer.parseInt(line.split(" ")[0]); - m = Integer.parseInt(line.split(" ")[1]); - k = Integer.parseInt(line.split(" ")[2]); - - } -} \ No newline at end of file diff --git a/src/main/java/com/kattis/ncpc25/log/rider/J.java b/src/main/java/com/kattis/ncpc25/log/rider/J.java deleted file mode 100644 index 189db3d..0000000 --- a/src/main/java/com/kattis/ncpc25/log/rider/J.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.kattis.ncpc25.log.rider; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.atomic.AtomicLong; - -public class J { - public static void main(String[] args) throws IOException { - BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); - String line = in.readLine(); - long N = Long.parseLong(line.split(" ")[0]); - long E = Long.parseLong(line.split(" ")[1]); - String out = jump(N, E); - System.out.println(out); - } - - public static String jump(long N, long E) - { - ArrayList levels = new ArrayList<>(); - int count = 0; - int diff = 0; - long time = 0; - boolean inf = false; - boolean first = true; - do - { - time += E; - if(time % N == 0 && !first) - { - E++; - if(count < 11){ - diff++; - count++; - } - } - else - { - E--; - if(count < 11){ - diff--; - count++; - } - } - if(count >= 10) - { - if(diff == 0) - { - inf = true; - break; - } - } - if(first) first = false; - } - while (E > 0); - if(inf) - { - return "infinity"; - } - else - { - return time+""; - } - } -} diff --git a/src/main/java/com/kattis/ncpc25/log/rider/K.java b/src/main/java/com/kattis/ncpc25/log/rider/K.java deleted file mode 100644 index 38b41fd..0000000 --- a/src/main/java/com/kattis/ncpc25/log/rider/K.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.kattis.ncpc25.log.rider; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; - -public class K { - public static void main(String[] args) throws IOException { - BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); - int num = Integer.parseInt(in.readLine()); - String[] signs = new String[num]; - for(int i = 0; i < num; i++) - { - signs[i] = in.readLine(); - } - int lastTop = 0; - int lastTopRound = 0; - for(String l : signs) - { - if(l.equalsIgnoreCase("/")) - { - System.out.println(lastTopRound); - continue; - } - int limit = Integer.parseInt(l); - if(limit > lastTopRound) - { - int tmp = (int)Math.ceil(limit/10.0)*10; - if(tmp == 90) - { - lastTopRound = 100; - } - else if(tmp <= 160) - { - lastTopRound = tmp; - } - } - System.out.println(limit); - } - } -} diff --git a/src/test/java/ATest.java b/src/test/java/ATest.java deleted file mode 100644 index 6aaedf8..0000000 --- a/src/test/java/ATest.java +++ /dev/null @@ -1,39 +0,0 @@ -import com.kattis.ncpc25.log.rider.A; -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.*; - -public class ATest { - @Test - public void ATests() - { - assertTrue(test(-4)); - assertTrue(test(57)); - assertTrue(test(-302)); - assertTrue(test(476)); - assertTrue(test(999)); - assertTrue(test(-999)); - assertTrue(test(0)); - } - - public boolean test(int in) - { - int[] nums = A.getComponents(in); - int num = nums[0] + nums[1]; - if(nums[0] == 0 || nums[1] == 0){ - System.out.println("etleast one is 0"); - System.out.println(in + " = " + nums[0] + " + " + nums[1]); - return false; - } - if((""+Math.abs(nums[0])).length() >= 4 || (""+Math.abs(nums[1])).length() >= 4){ - System.out.println(in + " = " + nums[0] + " + " + nums[1]); - return false; - } - if(num != in) - { - System.out.println(in + " = " + nums[0] + " + " + nums[1]); - return false; - } - return true; - } -} diff --git a/src/test/java/CTest.java b/src/test/java/CTest.java deleted file mode 100644 index 57404c7..0000000 --- a/src/test/java/CTest.java +++ /dev/null @@ -1,18 +0,0 @@ -import com.kattis.ncpc25.log.rider.C; -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.*; - -public class CTest { - @Test - public void CTestCases() - { - assertEquals("7 hours", C.countTime("Mon 08:00", "Mon 15:00")); - assertEquals("7 days", C.countTime("Mon 08:00", "Mon 08:00")); - assertEquals("2 minutes", C.countTime("Mon 08:00", "Mon 08:02")); - assertEquals("1 hour and 59 minutes", C.countTime("Mon 22:00", "Mon 23:59")); - assertEquals("7 days", C.countTime("Mon 08:00", "Mon 08:00")); - assertEquals("7 days", C.countTime("Mon 08:00", "Mon 08:00")); - assertEquals("7 days", C.countTime("Mon 08:00", "Mon 08:00")); - } -} diff --git a/src/test/java/DTest.java b/src/test/java/DTest.java deleted file mode 100644 index 8f8ce8e..0000000 --- a/src/test/java/DTest.java +++ /dev/null @@ -1,22 +0,0 @@ -import com.kattis.ncpc25.log.rider.D; -import org.junit.jupiter.api.Test; - -import java.awt.*; - -import static org.junit.jupiter.api.Assertions.*; - -public class DTest { - @Test - public void DTests() - { - assertTrue(testMaxDiff(D.getTotalLength(new Point[]{new Point(-1, -7), new Point(-1, -11), new Point(0, -9), new Point(2, 2), new Point(1, -2), new Point(-2, -1), new Point(3, 1), new Point(-1, -5), new Point(0, -3), new Point(-3, -11)}), 17.186912)); - assertTrue(testMaxDiff(D.getTotalLength(new Point[]{new Point(1, 0), new Point(0,0), new Point(1,1)}), 2)); - - } - - public boolean testMaxDiff(double value, double excpected) - { - if(value == excpected) return true; - return value <= excpected + Math.pow(10, -6) && value >= excpected - Math.pow(10, -6); - } -} diff --git a/src/test/java/JTest.java b/src/test/java/JTest.java deleted file mode 100644 index 862dbf7..0000000 --- a/src/test/java/JTest.java +++ /dev/null @@ -1,60 +0,0 @@ -import com.kattis.ncpc25.log.rider.J; -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -public class JTest { - @Test - public void JTest1() - { - assertEquals("59",J.jump(7, 9)); - } - - @Test - public void JTest2() - { - assertEquals("infinity", J.jump(7,4)); - } - - @Test - public void JTest9() - { - assertEquals("infinity", J.jump(7,4)); - } - - @Test - public void JTest3() - { - assertEquals("7581167638793024", J.jump(100001, 123123123)); - } - - @Test - public void JTest4() - { - assertEquals("infinity", J.jump(5, 3)); - } - - @Test - public void JTest5() - { - assertEquals("0", J.jump(1, 0)); - } - - @Test - public void JTest6() - { - assertEquals("21", J.jump(16, 6)); - } - - @Test - public void JTest7() - { - assertEquals("10", J.jump(11, 4)); - } - - @Test - public void JTest8() - { - assertEquals("210", J.jump(67, 20)); - } -}