| Task: | Merkkijonot |
| Sender: | matskuman5 |
| Submission time: | 2019-10-12 13:52:46 +0300 |
| Language: | Java |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | TIME LIMIT EXCEEDED | 0 |
| #3 | TIME LIMIT EXCEEDED | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.20 s | 1, 2, 3 | details |
| #2 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
| #3 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #4 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #5 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #6 | ACCEPTED | 0.20 s | 1, 2, 3 | details |
| #7 | ACCEPTED | 0.12 s | 1, 2, 3 | details |
| #8 | ACCEPTED | 0.12 s | 1, 2, 3 | details |
| #9 | ACCEPTED | 0.18 s | 1, 2, 3 | details |
| #10 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
| #11 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
| #12 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
| #13 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
| #14 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
| #15 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #16 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #17 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #18 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #19 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #20 | WRONG ANSWER | 0.18 s | 1, 2, 3 | details |
| #21 | WRONG ANSWER | 0.19 s | 1, 2, 3 | details |
| #22 | ACCEPTED | 0.19 s | 1, 2, 3 | details |
| #23 | ACCEPTED | 0.18 s | 1, 2, 3 | details |
| #24 | ACCEPTED | 0.18 s | 1, 2, 3 | details |
Code
import java.util.Scanner;
import java.util.ArrayList;
import java.util.HashMap;
public class Merkkijonot {
public static void main(String[] args) {
//Osa 1: luetaan merkkijonot.
Scanner lukija = new Scanner(System.in);
int mjonojenMaara = Integer.valueOf(lukija.nextLine());
// int mjonojenMaara = 6;
String[] mjonot = new String[mjonojenMaara];
// mjonot[0] = "AAB";
// mjonot[1] = "ABKA";
// mjonot[2] = "SSG";
// mjonot[3] = "TSGT";
// mjonot[4] = "ZZZZ";
// mjonot[5] = "KEAK";
for (int i = 0; i < mjonojenMaara; i++) {
mjonot[i] = lukija.nextLine();
}
//Osa 2: muutetaan merkkijonot numerosarjoiksi.
String[] numerot = new String[mjonojenMaara];
for (int i = 0; i < mjonojenMaara; i++) {
String[] palat = mjonot[i].split("");
int[] numero = new int[palat.length];
int uniqueNumber = 1;
boolean lisaa = false;
ArrayList<String> kaydytKirjaimet = new ArrayList<>();
// System.out.println("\n-- merkkijono: " + i + " --");
for (String palat1 : palat) {
if (kaydytKirjaimet.contains(palat1)) {
continue;
}
// System.out.println("\n käsittelyssä: kirjain " + palat1);
kaydytKirjaimet.add(palat1);
for (int b = 0; b < palat.length; b++) {
if (palat1.equals(palat[b])) {
// System.out.println("kirjain löytyi indeksistä " + b);
numero[b] = uniqueNumber;
}
}
uniqueNumber++;
}
// System.out.println("\ntulostetaan merkkijono numeroina:");
StringBuilder rakentaja = new StringBuilder();
for (int o = 0; o < numero.length; o++) {
rakentaja.append(numero[o]);
}
// System.out.println(rakentaja);
numerot[i] = rakentaja.toString();
}
//Osa 3: verrataan numerosarjoja.
// System.out.println("\n|| käsittelyt valmiita! nyt numerosarjojen vertailu. ||\n");
int parienLukumaara = 0;
ArrayList<String> kaydytParit = new ArrayList<>();
for (String numerot1 : numerot) {
// System.out.println(numerot1);
}
for (int i = 0; i < numerot.length; i++) {
// System.out.println("\nkäsittelyssä: " + mjonot[i]);
for (int u = 0; u < numerot.length; u++) {
if (i == u) {
continue; //ei verrata samaan merkkijonoon
}
if (numerot[i].equals(numerot[u])) {
if (kaydytParit.contains(mjonot[u] + " " + mjonot[i])) {
// System.out.println("(Ei pistetä samoja. (" + mjonot[i] + ", " + mjonot[u] + "))");
} else {
// System.out.println("Pari löytyi! " + mjonot[i] + " ja " + mjonot[u]);
parienLukumaara++;
kaydytParit.add(mjonot[i] + " " + mjonot[u]);
// System.out.println("Käydyt parit:");
for (String s : kaydytParit) {
// System.out.println(s);
}
}
}
}
}
System.out.println(parienLukumaara);
}
}
Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 20 FFDISOVJLPIASANJRBHQXJVW HBGVRZFWOTAAVUPYKMKXAOBEYUE JKHXTPHUKTLTLNXMXMSYYFLF HCSZMXTZCUFHIHSTEWKHCFZRTXU ... |
| correct output |
|---|
| 20 |
| user output |
|---|
| 20 |
Test 2
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 5000 AJEDROEDXRGDUSDAPZBXXQBPJ PDGCTAGCRTBCJICPFELRRMLFD TISAOTGMDKUCITIEFQVCSBZJYUUO FMASVJYFPMELSVLQWFZVLVMSPHYL ... |
| correct output |
|---|
| 2178556 |
| user output |
|---|
| (empty) |
Test 3
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 RESKYADLVRSDCDXJVECAJCAP CZLIWDHKVNRJHZINHFBOQEPN LSTRSDTLADUIWXFQJSQPVRSPBCTZ QEMSZOQSSVBRNQTCLJQIGVQO ... |
| correct output |
|---|
| 404880850 |
| user output |
|---|
| (empty) |
Test 4
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
| correct output |
|---|
| 4999950000 |
| user output |
|---|
| (empty) |
Test 5
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 IPI Q SPGV UNYE ... |
| correct output |
|---|
| 1041990627 |
| user output |
|---|
| (empty) |
Test 6
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 20 A B C D ... |
| correct output |
|---|
| 190 |
| user output |
|---|
| 190 |
Test 7
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 1 A |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 8
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 20 A BB CCC DDDD ... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 9
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 2 A A |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 10
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 5000 SEKNHNRHSRFYIHSCDPGXPTGUSYBFKZ... |
| correct output |
|---|
| 20861 |
| user output |
|---|
| (empty) |
Test 11
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 5000 UGPWHWOWAREEIROZTRJGUCKDKTZJEO... |
| correct output |
|---|
| 22818 |
| user output |
|---|
| (empty) |
Test 12
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 5000 FFQQCBCINBDWIKHFPO SCJU DNHYPGIQNZS KNQCYRAXHHKORXMOVHL ... |
| correct output |
|---|
| 22268 |
| user output |
|---|
| (empty) |
Test 13
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 5000 QVWMSYPWXWBBXWCVEOUAVQLDWNBXZB... |
| correct output |
|---|
| 22589 |
| user output |
|---|
| (empty) |
Test 14
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 5000 JYORMNQAKXHNRBWGGSMWXWXMBKPBZU... |
| correct output |
|---|
| 20482 |
| user output |
|---|
| (empty) |
Test 15
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 DCXXVIEYQAASZJYUUVYZUIJFGVBAYC... |
| correct output |
|---|
| 8925377 |
| user output |
|---|
| (empty) |
Test 16
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 IJZHBIYNWQBDWNGZWVXJKXXWFVLPQX... |
| correct output |
|---|
| 8907840 |
| user output |
|---|
| (empty) |
Test 17
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 GWUGLGQDAYGGJROIAKBMMICQMDUQQQ... |
| correct output |
|---|
| 8771809 |
| user output |
|---|
| (empty) |
Test 18
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 SWVSVXURRSLCSHCPAKWESIPCNDKYLD... |
| correct output |
|---|
| 8704480 |
| user output |
|---|
| (empty) |
Test 19
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 ZLSNSZBGIMCOLPDEAKVDAJCTMBNRLH... |
| correct output |
|---|
| 8672362 |
| user output |
|---|
| (empty) |
Test 20
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 20 AAB D CDBAA D ... |
| correct output |
|---|
| 15 |
| user output |
|---|
| 13 |
Test 21
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 20 A CDD AABBC DBCB ... |
| correct output |
|---|
| 15 |
| user output |
|---|
| 13 |
Test 22
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 20 ACADD CDDCD DACA CCDCA ... |
| correct output |
|---|
| 17 |
| user output |
|---|
| 17 |
Test 23
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 20 DCDA BDBA CACBD BA ... |
| correct output |
|---|
| 7 |
| user output |
|---|
| 7 |
Test 24
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 20 DDA BBCDC DDD CCD ... |
| correct output |
|---|
| 14 |
| user output |
|---|
| 14 |
