Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class DLLNode
{ protected E element; protected DLLNode
pred, succ; public DLLNode(E elem, DLLNode
pred, DLLNode
succ) { this.element = elem; this.pred = pred; this.succ = succ; } @Override public String toString() { return "<-"+element.toString()+"->"; } } class DLL
{ private DLLNode
first, last; public DLL() { // Construct an empty SLL this.first = null; this.last = null; } public void deleteList() { first = null; last = null; } public int length() { int ret; if (first != null) { DLLNode
tmp = first; ret = 1; while (tmp.succ != null) { tmp = tmp.succ; ret++; } return ret; } else return 0; } public void insertFirst(E o) { DLLNode
ins = new DLLNode
(o, null, first); if (first == null) last = ins; else first.pred = ins; first = ins; } public void insertLast(E o) { if (first == null) insertFirst(o); else { DLLNode
ins = new DLLNode
(o, last, null); last.succ = ins; last = ins; } } public void insertAfter(E o, DLLNode
after) { if(after==last){ insertLast(o); return; } DLLNode
ins = new DLLNode
(o, after, after.succ); after.succ.pred = ins; after.succ = ins; } public void insertBefore(E o, DLLNode
before) { if(before == first){ insertFirst(o); return; } DLLNode
ins = new DLLNode
(o, before.pred, before); before.pred.succ = ins; before.pred = ins; } public E deleteFirst() { if (first != null) { DLLNode
tmp = first; first = first.succ; if (first != null) first.pred = null; if (first == null) last = null; return tmp.element; } else return null; } public E deleteLast() { if (first != null) { if (first.succ == null) return deleteFirst(); else { DLLNode
tmp = last; last = last.pred; last.succ = null; return tmp.element; } } // else throw Exception return null; } @Override public String toString() { String ret = new String(); if (first != null) { DLLNode
tmp = first; ret += tmp + "<->"; while (tmp.succ != null) { tmp = tmp.succ; ret += tmp + "<->"; } } else ret = "Prazna lista!!!"; return ret; } public DLLNode
getFirst() { return first; } public DLLNode
getLast() { return last; } } public class DLLVojska { public static void main(String[] args) throws IOException { DLL
lista = new DLL
(); BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); String s = stdin.readLine(); int N = Integer.parseInt(s); s = stdin.readLine(); String[] ids = s.split(" "); for (int i = 0; i < N; i++) { lista.insertLast(Integer.parseInt(ids[i])); } s = stdin.readLine(); String interval[] = s.split(" "); int a = Integer.parseInt(interval[0]); int b = Integer.parseInt(interval[1]); s = stdin.readLine(); interval = s.split(" "); int c = Integer.parseInt(interval[0]); int d = Integer.parseInt(interval[1]); DLL
result = vojska(lista, a, b, c, d); DLLNode
node = result.getFirst(); System.out.print(node.element); node = node.succ; while(node != null){ System.out.print(" "+node.element); node = node.succ; } } private static DLL
vojska(DLL
lista, int a, int b, int c, int d) { int idx1 = 0, idx2 = 0; int idx3 = 0, idx4 = 0; DLLNode
head = lista.getFirst(); int i = 0; int[] niza = new int[lista.length()]; while(head != null) { if(head.element == a) { idx1 = i; } if(head.element == b) { idx2 = i; } if(head.element == c) { idx3 = i; } if(head.element == d) { idx4 = i; } niza[i] = head.element; i++; head = head.succ; } DLL
result = new DLL<>(); for(int j = 0; j < lista.length(); j++) { if(idx1 <= j && j <= idx2) { for(int k = idx3; k <= idx4; k++) { result.insertLast(niza[k]); } j = idx2; } else if(idx3 <= j && j <= idx4) { for(int k = idx1; k <= idx2; k++) { result.insertLast(niza[k]); } j = idx4; } else { result.insertLast(niza[j]); } } return result; } }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)