Author SHA1 Message Date
Zacharias 3f62e35eb0 NCPC26 final practice - py 2026-09-29 17:09:30 +02:00
Zacharias f9af40293e NCPC26 final practice 2026-09-29 17:07:50 +02:00
Zacharias 67a2198180 Added readme 2026-09-18 10:53:16 +02:00
Zacharias e260c51b70 Initial Commit 2026-09-18 10:52:59 +02:00
30 changed files with 235 additions and 290 deletions

No files matched your search

-17
View File
@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>
-11
View File
@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$" />
</component>
<component name="KubernetesApiProvider"><![CDATA[{}]]></component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="corretto-21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
Generated
-6
View File
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
+3
View File
@@ -0,0 +1,3 @@
# NCPC26 final practive
This branch contaisn the code from the final practice(18th september 2026) for NCPC26!
+2
View File
@@ -3,6 +3,8 @@
/workspace.xml /workspace.xml
# Editor-based HTTP Client requests # Editor-based HTTP Client requests
/httpRequests/ /httpRequests/
# Ignored default folder with query files
/queries/
# Datasource local storage ignored files # Datasource local storage ignored files
/dataSources/ /dataSources/
/dataSources.local.xml /dataSources.local.xml
+152
View File
@@ -0,0 +1,152 @@
#include <stdio.h>
#include <string.h>
int main()
{
int array[26];
int time = 0;
char problem;
char RightOrWrong[10];
int sum = 0;
int solved = 0;
int is_solved[26];
for (int i = 0 ; i < 26; i++){
is_solved[i] = 0;
}
for(int i = 0; i < 26; i++)
{
array[i] = 0;
}
while(scanf("%d %c %s", &time, &problem, &RightOrWrong) == 3 && time != -1){
switch (problem){
case 'A':
if (strcmp(RightOrWrong, "wrong")==0){
array[0] += 20;
}else{
array[0] += time;
solved += 1;
is_solved[0] = 1;
}
break;
case 'B':
if (strcmp(RightOrWrong, "wrong")==0){
array[1] += 20;
}else{
array[1] += time;
solved += 1;
is_solved[1] = 1;
}
break;
case 'C':
if (strcmp(RightOrWrong, "wrong")==0){
array[2] += 20;
}else{
array[2] += time;
solved += 1;
is_solved[2] = 1;
}
break;
case 'D':
if (strcmp(RightOrWrong, "wrong")==0){
array[3] += 20;
}else{
array[3] += time;
solved += 1;
is_solved[3] = 1;
}
break;
case 'E':
if (strcmp(RightOrWrong, "wrong")==0){
array[4] += 20;
}else{
array[4] += time;
solved += 1;
is_solved[4] = 1;
}
break;
case 'F':
if (strcmp(RightOrWrong, "wrong")==0){
array[5] += 20;
}else{
array[5] += time;
solved += 1;
is_solved[5] = 1;
}
break;
case 'G':
if (strcmp(RightOrWrong, "wrong")==0){
array[6] += 20;
}else{
array[6] += time;
solved += 1;
is_solved[6] = 1;
}
break;
case 'H':
if (strcmp(RightOrWrong, "wrong")==0){
array[7] += 20;
}else{
array[7] += time;
solved += 1;
is_solved[7] = 1;
}
break;
case 'I':
if (strcmp(RightOrWrong, "wrong")==0){
array[8] += 20;
}else{
array[8] += time;
solved += 1;
is_solved[8] = 1;
}
break;
case 'J':
if (strcmp(RightOrWrong, "wrong")==0){
array[9] += 20;
}else{
array[9] += time;
solved += 1;
is_solved[9] = 1;
}
break;
case 'K':
if (strcmp(RightOrWrong, "wrong")==0){
array[10] += 20;
}else{
array[10] += time;
solved += 1;
is_solved[10] = 1;
}
break;
default:
return 0;
break;
}
}
for(int i = 0; i <= 26; i++)
{
if(is_solved[i]==1){
sum += array[i];
}
}
printf("%d %d", solved, sum);
return 0;
}
File renamed without changes.
+10
View File
@@ -0,0 +1,10 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Ignored default folder with query files
/queries/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
@@ -2,7 +2,7 @@ plugins {
id 'java' id 'java'
} }
group = 'org.example' group = 'com.kattis.ncpc26.pf'
version = '1.0-SNAPSHOT' version = '1.0-SNAPSHOT'
repositories { repositories {
@@ -10,7 +10,7 @@ repositories {
} }
dependencies { dependencies {
testImplementation platform('org.junit:junit-bom:5.10.0') testImplementation platform('org.junit:junit-bom:6.0.0')
testImplementation 'org.junit.jupiter:junit-jupiter' testImplementation 'org.junit.jupiter:junit-jupiter'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher' testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
} }
@@ -1,6 +1,6 @@
#Sat Oct 04 11:03:43 CEST 2025 #Fri Sep 18 10:45:37 CEST 2026
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.0-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
View File
File renamed without changes.
File renamed without changes.
@@ -0,0 +1 @@
rootProject.name = 'NCPC26-practive-final'
@@ -0,0 +1,4 @@
package com.kattis.ncpc26.pf;
public class B {
}
@@ -0,0 +1,4 @@
package com.kattis.ncpc26.pf;
public class D {
}
@@ -0,0 +1,4 @@
package com.kattis.ncpc26.pf;
public class E {
}
@@ -0,0 +1,4 @@
package com.kattis.ncpc26.pf;
public class F {
}
@@ -0,0 +1,4 @@
package com.kattis.ncpc26.pf;
public class G {
}
@@ -0,0 +1,4 @@
package com.kattis.ncpc26.pf;
public class I {
}
+23
View File
@@ -0,0 +1,23 @@
import sys
l = 0
r = 1001
m = 500
temp = m
for i in range(10):
print(m)
sys.stdout.flush()
term = input()
if term == "correct":
exit()
elif term == "lower":
temp = m
m = (l + m) // 2
r = temp
else:
temp = m
m = (m + r) // 2
l = temp
+12
View File
@@ -0,0 +1,12 @@
ball = 1
for i in range(5):
j = int(input())
k = int(input())
if j == ball:
ball = k
elif k == ball:
ball = j
print(ball)
+4
View File
@@ -0,0 +1,4 @@
w = int(input())
l = int(input())
print(w*l)
-1
View File
@@ -1 +0,0 @@
rootProject.name = 'NCPC-g'
@@ -1,68 +0,0 @@
package com.kattis.ncpc26.p2.pending;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class D {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char[][] board = new char[8][8];
for(int i = 0; i < 8; i++)
{
board[i] = br.readLine().toCharArray();
}
int[][] dig = {
{1,1}, {-1,1}, {-1,1}, {-1,-1}
};
for(int bx = 0; bx < 8; bx++)
{
for(int by = 0; by < 8; by++)
{
if(board[bx][by] == '*')
{
for(int i = 0; i < 8; i++)
{
if(i == bx) continue;
if(board[i][by] == '*')
{
System.out.println("invalid");
return;
}
}
for(int i = 0; i < 8; i++)
{
if(i == by) continue;
if(board[bx][i] == '*')
{
System.out.println("invalid");
return;
}
}
}
for(int i = 0; i < 2; i++)
{
int[] mod = dig[i];
int x = mod[0];
int y = mod[1];
int base = (i==0?0:7);
for(int j = 0; j < 8; j++)
{
if(base+x*j == bx && y*j == by) continue;
if(board[base+x*j][y*j] == '*')
{
System.out.println("invalid");
return;
}
}
}
}
}
System.out.println("valid");
}
}
@@ -1,44 +0,0 @@
package com.kattis.ncpc26.p2.pending;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Locale;
import java.util.Scanner;
public class E {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] maxNumber = new int[n];
int[] minNumber = new int[n];
for(int i = 0; i < n; i++)
{
String hexNum = br.readLine().toUpperCase(Locale.ROOT);
if(hexNum.length() > 1 && (hexNum.startsWith("0") || hexNum.startsWith("D")))
{
hexNum = "d" + hexNum.substring(1);
}
{
minNumber[i] = Integer.parseInt(hexNum.replaceAll("B", "8").replaceAll("D", "0"), 16);
maxNumber[i] = Integer.parseInt(hexNum.replaceAll("8", "B").replaceAll("0", "D"), 16);
}
}
int maxOut = 0;
int minOut = 0;
for(int i = 0; i < n; i++) {
minOut += minNumber[i];
maxOut += maxNumber[i];
}
System.out.println(Integer.toHexString(maxOut).toUpperCase(Locale.ROOT));
System.out.println(Integer.toHexString(minOut).toUpperCase(Locale.ROOT));
}
}
-39
View File
@@ -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;
}
}
-18
View File
@@ -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"));
}
}
-22
View File
@@ -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);
}
}
-60
View File
@@ -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));
}
}