Wróć   polish:Elite:board > hard- i software > programowanie


programowanie języki, projekty, pomoc, oprócz html, php, js

Odpowiedz
 
LinkBack Narzędzia wątku Przeszukaj ten temat Wygląd

  #1 (permalink)  
Stare 13.09.2009, 12:50
Junior Member
 
Zarejestrowany: Mar 2008
Postów: 14
Postów w giełdzie: 0
Unhappy C++ problem proszę o pomoc

Mam problem z zadaniem
Oto treść:

Słonie
Limit pamięci: 64 MB

W Bajtockim Zoo ma się za chwilę odbyć parada, w której uczestniczyć będą wszystkie znajdujące się w nim słonie. Pracownicy zoo zachęcili już zwierzęta do ustawienia się w jednym rzędzie, gdyż zgodnie z zarządzeniem dyrektora zoo taka powinna być początkowa figura parady.

Niestety, na miejsce przybył sam dyrektor i zupełnie nie spodobała mu się wybrana przez pracowników kolejność słoni. Dyrektor zaproponował kolejność, w której według niego zwierzęta będą się najlepiej prezentować, i wydał pracownikom polecenie poprzestawiania słoni zgodnie z tą propozycją.

Aby uniknąć nadmiernego chaosu tuż przed paradą, pracownicy postanowili przestawiać słonie, zamieniając miejscami kolejno pewne pary słoni. Przestawiane zwierzęta nie muszą sąsiadować ze sobą w rzędzie. Wysiłek potrzebny do nakłonienia słonia do ruszenia się z miejsca jest wprost proporcjonalny do jego masy, a zatem wysiłek związany z zamianą miejscami dwóch słoni o masach oraz można oszacować przez . Jakim minimalnym wysiłkiem pracownicy mogą poprzestawiać słonie tak, aby usatysfakcjonować dyrektora?

Napisz program, który:

* wczyta ze standardowego wejścia masy wszystkich słoni z zoo oraz aktualną i docelową kolejność słoni w rzędzie,
* wyznaczy taki sposób poprzestawiania słoni, który prowadzi od kolejności początkowej do docelowej i minimalizuje sumę wysiłków związanych ze wszystkimi wykonanymi zamianami pozycji słoni,
* wypisze sumę wartości tych wysiłków na standardowe wyjście.

Wejście

Pierwszy wiersz wejścia zawiera jedną liczbę całkowitą (), oznaczającą liczbę słoni w Bajtockim Zoo. Dla uproszczenia zakładamy, że słonie są ponumerowane od do . Drugi wiersz zawiera liczb całkowitych ( dla ), pooddzielanych pojedynczymi odstępami i oznaczających masy poszczególnych słoni (wyrażone w kilogramach).

Trzeci wiersz wejścia zawiera różnych liczb całkowitych (), pooddzielanych pojedynczymi odstępami i oznaczających numery kolejnych słoni w aktualnym ustawieniu. Czwarty wiersz zawiera różnych liczb całkowitych (), pooddzielanych pojedynczymi odstępami i oznaczających numery kolejnych słoni w ustawieniu proponowanym przez dyrektora zoo. Możesz założyć, że ustawienia reprezentowane przez ciągi oraz są różne.
Wyjście

Pierwszy i jedyny wiersz wyjścia powinien zawierać jedną liczbę całkowitą, oznaczającą minimalny łączny wysiłek związany z poprzestawianiem słoni, w wyniku którego z ustawienia reprezentowanego przez uzyskuje się ustawienie .
Przykład

Dla danych wejściowych:

6
2400 2000 1200 2400 1600 4000
1 4 5 3 6 2
5 3 2 4 6 1

poprawną odpowiedzią jest:

11200

Jeden z najlepszych sposobów poprzestawiania słoni uzyskujemy, zamieniając miejscami kolejno pary słoni:

* 2 i 5 - wysiłek związany z zamianą to , a uzyskane ustawienie to 1 4 2 3 6 5,
* 3 i 4 - wysiłek to , a uzyskane ustawienie to 1 3 2 4 6 5,
* 1 i 5 - wysiłek to , a uzyskane ustawienie to 5 3 2 4 6 1, czyli ustawienie docelowe.

A oto mój kod:

Kod:
#include<stdio.h>

int main ()
{
    unsigned long int liczba_sloni;
    unsigned long int rozwiazanie=0;
    scanf("%u",&liczba_sloni);
    int *tablica = new int[liczba_sloni];
    for(int slon=1;slon<=liczba_sloni;++slon)
    {

            scanf("%u",&tablica[slon]);
    }       
    int *ptablica = new int[liczba_sloni];
    for(int slon=1;slon<=liczba_sloni;++slon)
    {
            scanf("%u",&ptablica[slon]);
    }      
    int *ktablica = new int[liczba_sloni];
    for(int slon=1;slon<=liczba_sloni;++slon)
    {
            scanf("%u",&ktablica[slon]);
    }
    int buffor;
    for(int slon=1;slon<=liczba_sloni;++slon)
    {
            for(int xslon=1;xslon<=liczba_sloni;++xslon)
            {
                    if ((ptablica[slon]==ktablica[xslon])&&(slon!=xslon))
                    {
                                rozwiazanie+=(tablica[ptablica[xslon]]+tablica[ptablica[slon]]);
                                buffor=ptablica[slon];
                                ptablica[slon]=ptablica[xslon];
                                ptablica[xslon]=buffor;                                  
                    }
            }
    }
    printf("%u",rozwiazanie);
    return 0;
}

pytanie brzmi co jest źle
Proszę o pomoc bo ja siedze już 3 dzień i dalej nic nie wymysliłem
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!Dodaj znalezisko!Zglos posta!Dodaj posta do linkr!
Odpowiedź z cytatem Szybka odpowiedź do tej wiadomości

  #2 (permalink)  
Stare 13.09.2009, 12:54
Junior Member
 
Zarejestrowany: Apr 2007
Postów: 97
Postów w giełdzie: 0
Domyślnie Odp: C++ problem proszę o pomoc

Wejdź na SIO i zobacz sobie wzorcówki udostępnione przez uczestników olimpiady, niektóre są dobrze wykomentowane to sobie porównasz algorytm, bo tak z kodu wykminiać co ty tam dokładnie robisz to chyba nikomu się nie będzie chciało
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!Dodaj znalezisko!Zglos posta!Dodaj posta do linkr!
Odpowiedź z cytatem Szybka odpowiedź do tej wiadomości

  #3 (permalink)  
Stare 13.09.2009, 13:11
Avatar FaTaL.92
Junior Member
 
Zarejestrowany: Apr 2009
Skąd: Jędrzejów
Postów: 616
Postów w giełdzie: 1
Wyślij wiadomość poprzez Skype™ do FaTaL.92
Domyślnie Odp: C++ problem proszę o pomoc

Cytat:
W Bajtockim
ten cytat i ogółnu wygląd tekstu świadczy o tym że to zadanie jest z Potyczek Algorytmicznych. Z tego co wiem to nie można umieszczać tego typu pytań na żadnym forum. Ni wiem czy wystartowała juz nowa edycja, jeśli to stare zadanie to ok, ale jeśli nie to możesz mieć problemy.
__________________
Cytat:
Napisał Stanisław Lem
Dopóki nie skorzystałem z Internetu, nie wiedziałem, że na świecie jest tylu idiotów.
Programowanie w C++ i Pascalu na zlecenie. Kontakt gg: 5076233.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!Dodaj znalezisko!Zglos posta!Dodaj posta do linkr!
Odpowiedź z cytatem Szybka odpowiedź do tej wiadomości

  #4 (permalink)  
Stare 13.09.2009, 14:22
Junior Member
 
Zarejestrowany: Apr 2007
Postów: 97
Postów w giełdzie: 0
Domyślnie Odp: C++ problem proszę o pomoc

To jest zadanie z XVI OI a nie z potyczek, olimpiada się zakończyła więc wsio ok.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!Dodaj znalezisko!Zglos posta!Dodaj posta do linkr!
Odpowiedź z cytatem Szybka odpowiedź do tej wiadomości

  #5 (permalink)  
Stare 13.09.2009, 15:42
Junior Member
 
Zarejestrowany: Mar 2008
Postów: 1
Postów w giełdzie: 0
Domyślnie Odp: C++ problem proszę o pomoc

pomoże ktoś wreszcie !!!! proszę o stronę z której ściagne rozwiązaNIA CZY COŚ
JA JESTEM BEZRADNY
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!Dodaj znalezisko!Zglos posta!Dodaj posta do linkr!
Odpowiedź z cytatem Szybka odpowiedź do tej wiadomości

  #6 (permalink)  
Stare 13.09.2009, 16:46
Junior Member
 
Zarejestrowany: Apr 2007
Postów: 97
Postów w giełdzie: 0
Domyślnie Odp: C++ problem proszę o pomoc

http://www.wklejto.pl/42466
Masz wzorcówke, nie jest ona moja ale skoro ją udostępniono to chyba mogę ją "podać dalej" jeśli nie to z góry przepraszam i proszę o usunięcie posta
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!Dodaj znalezisko!Zglos posta!Dodaj posta do linkr!
Odpowiedź z cytatem Szybka odpowiedź do tej wiadomości
Odpowiedz

Tagi
c++ oi zadanie problem

Szybka odpowiedź
Wiadomość:
Opcje

Narzędzia wątku Przeszukaj ten temat
Przeszukaj ten temat:

Zaawansowane wyszukiwanie
Wygląd

Zasady postowania
Nie możesz zakładać nowych tematów
Nie możesz pisać wiadomości
Nie możesz dodawać załączników
Nie możesz edytować swoich postów

BBCode jest Włączony
EmotikonyWłączony
[IMG] kod jest Włączony
HTML kod jest Wyłączony
Trackbacks are Wyłączony
Pingbacks are Wyłączony
Refbacks are Wyłączony


Podobne wątki
Temat Autor wątku Forum Odpowiedzi Ostatni post/autor
PROBLEM ! Prosze o pomoc ! Serusael Nintendo 1 18.05.2008 10:17
Just cause problem!! Prosze o pomoc!! najazeru problemy techniczne 2 24.10.2006 08:56
PROBLEM!!! Proszę o pomoc P@trol sprzęt 2 18.05.2006 18:35
Problem prosze o pomoc... masta1990 technika p2p & p2m 1 07.08.2005 00:57


Wszystkie czasy w strefie GMT +2. Teraz jest 20:28.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.5.2
Tłumaczenie: vBHELP.pl - Polskie wsparcie vBulletin
1328898487

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333