CSES - Datatähti 2016 alku - Results
Submission details
Task:Kirjat
Sender:kalh
Submission time:2015-09-29 11:59:28 +0300
Language:Java
Status:COMPILE ERROR

Compiler report

input/Tehtava2.java:66: error: unmappable character for encoding UTF8
						//System.out.println("siirret??n: " + jononarvo + " <-->" + arvo3);
						                             ^
input/Tehtava2.java:66: error: unmappable character for encoding UTF8
						//System.out.println("siirret??n: " + jononarvo + " <-->" + arvo3);
						                              ^
2 errors

Code

import java.util.*;

public class Tehtava2 {

	
	public static void mahdollisetRatkaisut(int maara, int[] j1, int[] j2) {
		
		ArrayList<Integer> jono = new ArrayList<Integer>();
		ArrayList<Integer> jarjestetty = new ArrayList<Integer>();
		for (int i = 1; i<=maara; i++) {
			jono.add(i);
		}
		for (int i = 1; i<=maara; i++) {
			int arvo1 = j1[i-1];
			int arvo2 = j2[i-1];
			
			if (jono.get(0) != arvo1 && jono.get(0) != arvo2) {
				jarjestetty.add(jono.get(0));
				//System.out.print(jono.get(0));
				jono.remove(0);
			}
			else if (jono.size() >= 2) {
				if (jono.get(1) != arvo1 && jono.get(1) != arvo2) {
					//System.out.print(jono.get(1));
					jarjestetty.add(jono.get(1));
					jono.remove(1);
				}
				else if (jono.size() >= 3) {
					if (jono.get(2) != arvo1 && jono.get(2) != arvo2) {
						//System.out.print(jono.get(2));
						jarjestetty.add(jono.get(2));
						jono.remove(2);
					}
				}
				
				else {
					jarjestetty.add(jono.get(0));
					//System.out.print(jono.get(0));
					jono.remove(0);
				}
				
			}
			else {
				jarjestetty.add(jono.get(0));
				//System.out.print(jono.get(0));
				jono.remove(0);
			}
			
		}
		
		//System.out.println(jarjestetty);
		int pienempi = Math.min(jarjestetty.size(), 4);
		for (int i = 1; i<=pienempi; i++) {
			
			int arvo1 = j1[maara-i];
			int arvo2 = j2[maara-i];
			
			int jononarvo = jarjestetty.get(maara-i);
			
			if (arvo1 == jononarvo || arvo2 == jononarvo) {
				for (int j = 0; j < maara; j++) {
					int arvo3 = jarjestetty.get(j);
					if (arvo3 != j1[j] && arvo3 != j2[j] && arvo3 != j1[i] && arvo3 != j2[i]) {
						int indeksi = j;
						int ekaindeksi = jarjestetty.indexOf(jononarvo);
						//System.out.println("siirretään: " + jononarvo + " <-->" + arvo3);
						//System.out.println(indeksi);
						jarjestetty.remove(indeksi);
						jarjestetty.add(indeksi, jononarvo);
						jarjestetty.remove(ekaindeksi);
						jarjestetty.add(ekaindeksi, arvo3);
					}
				}
			}
			
			
		}
		
		for (int i = 0; i< jarjestetty.size(); i++) {
			System.out.print(jarjestetty.get(i) + " ");
		}
		

	}
	
	
	public static void main(String[] args) {
		
		Scanner s = new Scanner(System.in);
		
		int kirjojenMaara = Integer.parseInt(s.nextLine());
		int[] jarjestys1 = new int[kirjojenMaara];
		int[] jarjestys2 = new int[kirjojenMaara];
		

		String jarjestyseka = s.nextLine();
		String jarjestystoka = s.nextLine();
		
		String[] j1 = jarjestyseka.split("\\s+");
		String[] j2 = jarjestystoka.split("\\s+");
		
		for (int i = 0; i<j1.length; i++) {
			jarjestys1[i] = Integer.parseInt(j1[i]);
			jarjestys2[i] = Integer.parseInt(j2[i]);
		}
		//int[] jarjestys1 = { 1, 3, 4, 2, 5 };
		//int[] jarjestys2 = { 4, 1, 5, 3, 2 };
		//int[] jarjestys1 = { 3, 2, 5, 1, 4, 6, 8, 7};
		//int[] jarjestys2 = { 8, 5, 3, 4, 2, 7, 1, 6};

		mahdollisetRatkaisut(kirjojenMaara, jarjestys1, jarjestys2);
		//kirjojenMaara = s.nextInt();
	}

}