QOJ.ac

QOJ

时间限制: 1 s 内存限制: 2048 MB 总分: 100

#8689. Kompresi

统计

Infinite Compression Plan Consortium (ICPC) telah mengembangkan strategi kompresi data baru yang hebat, bernama “Don’t Repeat Yourself” (DRY). DRY bekerja pada string karakter: jika string memuat dua kemunculan berurutan dari substring yang sama, salah satunya dihapus. Misalnya, pada “alfalfa seeds”, DRY dapat menghapus satu dari dua substring “e” pada “seeds” dan satu dari dua substring “lfa” pada “alfalfa”, sehingga diperoleh “alfa seds”. DRY juga dapat memanfaatkan penghapusan sebelumnya: pada “seventeenth baggage”, misalnya, mula-mula dihapus “e” yang berulang pada “seventeenth” dan “g” yang berulang pada “baggage”, menghasilkan “sevententh bagage”, lalu “ent” yang berulang pada “sevententh” dan “ag” yang berulang pada “bagage”, menghasilkan “seventh bage”.

problem_8689_3ff2d9a4f9b2ede806567ffedf595aac.png

Gambar diadaptasi dari Wikimedia Commons, domain publik

Jika ada beberapa pilihan substring berulang yang berurutan untuk dihapus, DRY harus memilih agar string akhir menjadi sependek mungkin. Misalnya, pada “ABBCDCABCDCD”, terdapat dua pilihan: menghapus “B” berulang di dekat awal, atau “CD” berulang di akhir. Jika “B” dihapus, DRY kemudian dapat menghapus “ABCDC” berulang, menghasilkan “ABCDCD”, lalu akhirnya menghapus “CD” di akhir untuk memperoleh “ABCD”. Namun, jika “CD” di akhir dihapus terlebih dahulu, akan tersisa “ABBCDCABCD”, yang hanya dapat dihapus “B” berulangnya untuk menjadi “ABCDCABCD”, dan tidak ada lagi yang dapat dihapus dari string itu. Jadi, pilihan yang benar adalah mulai dengan mengompresi “B” ganda dan akhirnya menghasilkan “ABCD”.

ICPC mengamati bahwa DRY memberikan hasil terbaik pada string biner, yaitu string yang hanya terdiri atas nol dan satu. Karena itu, Anda ditugaskan mengimplementasikan algoritma DRY terbaik untuk string biner. Untuk sembarang string biner, keluarkan string terpendek yang dapat diperoleh dengan menerapkan DRY berulang kali.

Masukan

Masukan terdiri atas satu baris berisi string tidak kosong dengan panjang paling banyak $10^5$, yang hanya terdiri atas nol dan satu.

Keluaran

Keluarkan satu baris berisi hasil terpendek yang mungkin dari penerapan DRY pada string masukan. Jika ada beberapa hasil terpendek, hasil mana pun akan diterima.

Contoh

Masukan 1

1111

Keluaran 1

1

Masukan 2

101

Keluaran 2

101

Masukan 3

10110

Keluaran 3

10

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.