Author SHA1 Message Date
Zacharias f0a9978cb3 NCPC26 fixing folder and file placments 2026-10-03 16:47:48 +02:00
Joel 2820c84507 NCPC26 ending 2026-10-03 16:16:18 +02:00
Zacharias fbd41d8ac7 NCPC26 initial commit 2026-10-03 09:48:59 +02:00
34 changed files with 529 additions and 224 deletions

No files matched your search

+6 -2
View File
@@ -1,3 +1,7 @@
# NCPC26 final practive
# NCPC26!!
This branch contaisn the code from the final practice(18th september 2026) for NCPC26!
This branch contains the code for NCPC 2026
here we have 3 folder containing all problems
- py: The python code
- java: The java code
- c: The c
-152
View File
@@ -1,152 +0,0 @@
#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;
}
+77
View File
@@ -0,0 +1,77 @@
#include <stdio.h>
#include <math.h>
int main()
{
int ship_x, ship_y;
int treasure_x, treasure_y;
int direction_x, direction_y;
int movement_help;
scanf("%d %d", &ship_x, &ship_y);
scanf("%d %d", &treasure_x, &treasure_y);
while (((ship_x == treasure_x) && (ship_y == treasure_y))==0){
direction_x = ship_x - treasure_x;
direction_y = ship_y - treasure_y;
//diagonal movement
if (abs(direction_x) == abs(direction_y)){
//NortEeast movment
if((direction_x < 0) && (direction_y < 0)){
printf("NE\n");
ship_x -= direction_x;
ship_y -= direction_y;
}
//NortWest movement
else if((direction_x > 0) && (direction_y < 0)){
printf("NW\n");
ship_x -= direction_x;
ship_y -= direction_y;
}
//SouthWest movement
else if((direction_x > 0) && (direction_y > 0)){
printf("SW\n");
ship_x -= direction_x;
ship_y -= direction_y;
}
//SouthEast movement
else if((direction_x < 0) && (direction_y > 0)){
printf("SE\n");
ship_x -= direction_x;
ship_y -= direction_y;
}
}
else if((abs(direction_x) != abs(direction_y))){
//horisontal / vertical movement
if(abs(direction_x) > abs(direction_y)){
movement_help = abs(abs(direction_x) - abs(direction_y));
//East movement
if(direction_x < 0){
printf("E\n");
ship_x += movement_help;
}
//West movement
if(direction_x > 0){
printf("W\n");
ship_x -= movement_help;
}
}
if(abs(direction_x) < abs(direction_y)){
movement_help = abs( abs(direction_y) - abs(direction_x));
//North Movement
if(direction_y < 0){
printf("N\n");
ship_y += movement_help;
}
//South Movement
if(direction_y > 0){
printf("S\n");
ship_y -= movement_help;
}
}
}
}
}
View File
Whitespace-only changes.
File renamed without changes.
@@ -3,8 +3,6 @@
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Ignored default folder with query files
/queries/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<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>
+10
View File
@@ -0,0 +1,10 @@
<?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="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>
@@ -1 +0,0 @@
rootProject.name = 'NCPC26-practive-final'
@@ -1,4 +0,0 @@
package com.kattis.ncpc26.pf;
public class B {
}
@@ -1,4 +0,0 @@
package com.kattis.ncpc26.pf;
public class D {
}
@@ -1,4 +0,0 @@
package com.kattis.ncpc26.pf;
public class E {
}
@@ -1,4 +0,0 @@
package com.kattis.ncpc26.pf;
public class F {
}
@@ -1,4 +0,0 @@
package com.kattis.ncpc26.pf;
public class G {
}
@@ -1,4 +0,0 @@
package com.kattis.ncpc26.pf;
public class I {
}
@@ -2,7 +2,7 @@ plugins {
id 'java'
}
group = 'com.kattis.ncpc26.pf'
group = 'org.example'
version = '1.0-SNAPSHOT'
repositories {
@@ -10,7 +10,7 @@ repositories {
}
dependencies {
testImplementation platform('org.junit:junit-bom:6.0.0')
testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
@@ -1,6 +1,6 @@
#Fri Sep 18 10:45:37 CEST 2026
#Sat Oct 03 11:00:43 CEST 2026
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
View File
File renamed without changes.
File renamed without changes.
+1
View File
@@ -0,0 +1 @@
rootProject.name = 'java'
+31
View File
@@ -0,0 +1,31 @@
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class B {
record Pair<K, V>(K key, V value)
{}
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
int n = Integer.parseInt(input.split(" ")[0]);
int k = Integer.parseInt(input.split(" ")[1]);
int[] slots = new int[k];
HashMap<String>
for(int i = 0; i < n; i++)
{
input = br.readLine();
int org = Integer.parseInt(input.split(" ")[0])-1;
int dest = Integer.parseInt(input.split(" ")[1])-1;
slots[org]--;
slots[dest]++;
}
long redudent = Arrays.stream(slots).filter((i) -> i == 0).count();
System.out.println(redudent);
}
}
+52
View File
@@ -0,0 +1,52 @@
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class D {
public static void main(String[] args) throws Exception {
String spondee = "--";
String trocha = "-u";
String dactyl = "-uu";
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String in = br.readLine();
int spondees = 0;
int dactyls = 0;
for(int i = 0; i < 5; i++)
{
if(in.startsWith(spondee))
{
spondees++;
in = in.substring(spondee.length());
}
else if(in.startsWith(dactyl))
{
dactyls++;
in = in.substring(dactyl.length());
}
else
{
System.out.println("no");
return;
}
}
if(!(spondees + dactyls == 5))
{
System.out.println("no");
return;
}
if(in.length() > 2)
{
System.out.println("no");
return;
}
if(!(in.endsWith(spondee) || in.endsWith(trocha)))
{
System.out.println("no");
return;
}
System.out.println("yes");
}
}
+181
View File
@@ -0,0 +1,181 @@
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
public class E {
public static void main(String[] args) throws Exception {
char[][] nums = {
// 0
{
'.', '#', '#', '.',
'#', '.', '.', '#',
'#', '.', '.', '#',
'.', '.', '.', '.',
'#', '.', '.', '#',
'#', '.', '.', '#',
'.', '#', '#', '.'
},
// 1
{
'.', '.', '.', '.',
'.', '.', '.', '#',
'.', '.', '.', '#',
'.', '.', '.', '.',
'.', '.', '.', '#',
'.', '.', '.', '#',
'.', '.', '.', '.'
},
// 2
{
'.', '#', '#', '.',
'.', '.', '.', '#',
'.', '.', '.', '#',
'.', '#', '#', '.',
'#', '.', '.', '.',
'#', '.', '.', '.',
'.', '#', '#', '.'
},
// 3
{
'.', '#', '#', '.',
'.', '.', '.', '#',
'.', '.', '.', '#',
'.', '#', '#', '.',
'.', '.', '.', '#',
'.', '.', '.', '#',
'.', '#', '#', '.'
},
// 4
{
'.', '.', '.', '.',
'#', '.', '.', '#',
'#', '.', '.', '#',
'.', '#', '#', '.',
'.', '.', '.', '#',
'.', '.', '.', '#',
'.', '.', '.', '.'
},
// 5
{
'.', '#', '#', '.',
'#', '.', '.', '.',
'#', '.', '.', '.',
'.', '#', '#', '.',
'.', '.', '.', '#',
'.', '.', '.', '#',
'.', '#', '#', '.'
},
// 6
{
'.', '#', '#', '.',
'#', '.', '.', '.',
'#', '.', '.', '.',
'.', '#', '#', '.',
'#', '.', '.', '#',
'#', '.', '.', '#',
'.', '#', '#', '.'
},
// 7
{
'.', '#', '#', '.',
'.', '.', '.', '#',
'.', '.', '.', '#',
'.', '.', '.', '.',
'.', '.', '.', '#',
'.', '.', '.', '#',
'.', '.', '.', '.'
},
// 8
{
'.', '#', '#', '.',
'#', '.', '.', '#',
'#', '.', '.', '#',
'.', '#', '#', '.',
'#', '.', '.', '#',
'#', '.', '.', '#',
'.', '#', '#', '.'
},
// 9
{
'.', '#', '#', '.',
'#', '.', '.', '#',
'#', '.', '.', '#',
'.', '#', '#', '.',
'.', '.', '.', '#',
'.', '.', '.', '#',
'.', '#', '#', '.'
}
};
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
for(int i = 0; i < 7; i++)
{
sb.append(br.readLine());
}
char[] input = sb.toString().toCharArray();
ArrayList<Integer> posibleNums = new ArrayList<>();
for(int i = 0; i < 10; i++)
{
if(Arrays.equals(nums[i], input))
{
posibleNums.add(i);
}
}
if(!posibleNums.isEmpty())
{
System.out.println(posibleNums.get(0));
return;
}
for(int i = 10; i < 100; i++)
{
char[] compiledNum = compileNum(nums, i);
if(Arrays.equals(compiledNum, input))
{
posibleNums.add(i);
}
}
if(posibleNums.isEmpty())
{
System.out.println("impossible");
return;
}
posibleNums.sort(Integer::compareTo);
sb = new StringBuilder();
StringBuilder finalSb = sb;
posibleNums.forEach((i) -> {
finalSb.append(i).append(" ");
});
String output = sb.toString().trim();
System.out.println(output);
}
private static char[] compileNum(char[][] nums, int i)
{
int tio = i / 10;
int ett = i % 10;
char[] out = new char[28];
for(int j = 0; j < 28; j++)
{
out[j] = nums[tio][j] == nums[ett][j] ? '.' : '#';
}
return out;
}
}
+34
View File
@@ -0,0 +1,34 @@
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class I {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String crewStr = br.readLine();
String hermit1Str = br.readLine();
String hermit2Str = br.readLine();
String hermit3Str = br.readLine();
int crew = Integer.parseInt(crewStr);
int hermit1 = Integer.parseInt(hermit1Str);
int hermit2 = Integer.parseInt(hermit2Str);
int hermit3 = Integer.parseInt(hermit3Str);
ArrayList<Integer> hermits = new ArrayList<>();
hermits.add(hermit1);
hermits.add(hermit2);
hermits.add(hermit3);
hermits.sort(Integer::compareTo);
if(hermits.get(0) + crew >= hermits.get(1))
{
System.out.println("impossible");
}
else
{
System.out.println(hermits.get(0) + crew);
}
}
}
+25
View File
@@ -0,0 +1,25 @@
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class K {
static record Pair<K, V>(K key, V value)
{}
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int numTrees = Integer.parseInt(br.readLine());
ArrayList<Pair<Integer, Integer>> trees = new ArrayList<>();
for(int i = 0; i < numTrees; i++)
{
String str = br.readLine();
int i1 = Integer.parseInt(str.split(" ")[0]);
int i2 = Integer.parseInt(str.split(" ")[1]);
trees.add(new Pair<>(i1, i2));
}
}
}
-23
View File
@@ -1,23 +0,0 @@
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
@@ -1,12 +0,0 @@
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
@@ -1,4 +0,0 @@
w = int(input())
l = int(input())
print(w*l)
+38
View File
@@ -0,0 +1,38 @@
import sys
for line in sys.stdin:
pices = int(line)
if (pices == 0):
print(0)
exit()
arr = list()
arr = map(int, input().split())
ar = sorted(arr)
half = ar[pices-1] / 2
i = 0
index = 0
closest = 1001
if (pices == 1):
print(ar[0])
exit()
while ar[i] <= half:
i += 1
if i > 0:
if (ar[i] - half) <= closest:
closest = (ar[i] - half)
index = i
if (half - ar[i-1]) <= closest:
closest = (ar[i-1] - half)
index = i-1
else:
index = 0
print(max((ar[pices-1] - ar[index]), ar[index]))
+26
View File
@@ -0,0 +1,26 @@
3
400 199 201
3
400 202 199
3
400 201 198
2
500 100
2
101 99
3
100 100 100
3
100 200 300
3
1000 1 1
3
1000 500 100
3
100 101 99
3
100 150 50
4
200 400 200 100
7
100 100 900 500 500 1000 400
+22
View File
@@ -0,0 +1,22 @@
3
401 600 1000
3
1 600 1000
2
1 2
2
1 1
3
1 1 2
4
1 2 1 1
4
1 2 2 1
4
1 2 2 2
4
400 1000 1000 1000
5
1000 1000 1000 998 22
4
300 500 150 100
View File
Whitespace-only changes.