• Acasă
  • Despre noi
  • Autori
  • Mărturii
  • Arhivă
  • Trimite Articol
  • Contact

WORLDIT

Lumea în 1 și 0.

  • Știri
    • Tehnologie
    • Tehnologie mobilă
    • Securitate
    • Developers
    • Știință
    • Benzi desenate
    • Jocuri
    • Intern
  • Tehnic
    • Browser
    • C#
    • C/C++
    • Challenge
    • HTML/CSS
    • Javascript, Ajax, jQuery
    • Open Source
    • PHP
    • Python
    • Securitate IT
    • Socializare
    • WordPress
    • Altele
  • Recenzii
  • Interviuri
  • Evenimente

Problema Barca

0
  • Publicat de Coss
  • în Probleme algoritmică
  • — 7 sept., 2009 at 4:30 pm

Voi propune o problema destul de usoara, pentru cei din clasele mici. Cred ca o sa va prindeti repede la ea, e adaugata pentru diversitate. E mai mult ceva de genul matematica distractiva. Pe malul unui rau se gaseste un pluton format din n soldati, numerotati de la 1 la n. Ei trebuie sa traverseze raul, dar nu au la dispozitie nici un mijloc de transport. Din fericire, chiar in dreptul lor, pe rau erau doi copii, Gigel si Ionel, intr-o mica barca de cauciuc. Copiii au fost de acord sa-i ajute pe soldati sa traverseze raul, insa a aparut un mic inconvenient: in barca, fiind mica, nu incape decat fie un singur soldat, fie cel mult cei doi copii. Ajutati-i pe Ionel si Gigel sa transporte intreg plutonul pe malul celalalt, iar ei sa revina pe malul de pe care au plecat. Cerinta Scrieti un program care sa afiseze o modalitate de utilizare a barcii de cauciuc astfel incat la final toti soldatii sa traverseze raul, realizand un numar minim de traversari. Date de intrare Fisierul de intrare barca.in are o singura linie pe care se gaseste numarul natural nenul n, reprezentand numarul de soldati din pluton. Date de iesire Fisierul de iesire barca.out va contine pe prima linie numarul minim de traversari pe care le face barca pentru ca intreg plutonul sa ajunga pe malul celalalt, iar ambii copii sa revina pe maul de pe care au plecat. Urmeaza in fisier atatea linii cate traversari va efectua barca. Linia i+1 va contine codificat continutul barcii la traversarea i, si anume: – caracterul ′I′, daca in barca se gaseste doar Ionel – caracterul ′G′, daca in barca se gaseste doar Gigel – caracterele ′IG′ daca in barca se gasesc amandoi copiii – un numar natural k, care reprezinta numarul de ordine al soldatului care este in barca si care traverseaza raul in acel moment. Restrictii

  • 1 ≤ n ≤ 35000
  • Initial barca si cei doi copii se gasesc pe acelasi mal cu soldatii;
  • Cand copiii se gasesc impreuna pe acelasi mal, Ionel are prioritate la folosirea barcii;
  • Soldatii vor traversa raul in ordinea numerotarii lor;
  • Dupa terminarea operatiunii Ionel si Gigel trebuie sa ramana impreuna pe acelasi mal de unde au inceput traversarea.
  • Punctaj: Daca numarul minim de traversari afisat este corect se obtine 20% din punctajul pe test. Punctajul integral se acorda daca atat numarul minim de traversari, cat si traversarile sunt corecte.

Exemplu barca.in 1 barca.out 4 IG I 1 G Explicatie: I si G traverseaza raul impreuna I se intoarce pe malul cu soldati si ramane aici soldatul 1 traverseaza raul si ramane acolo G revine pe malul initial Descrierea solutiei Pe baza informatiilor furnizate de enunt, putem deduce urmatoarele: * Ionel si Gigiel se afla la inceput in barca. * Ionel se deplaseaza inaintea soldatilor. * Gigel este ultimul care travereseaza cu barca. * Nu ne ramane decat sa afisam soldatii in ordine crescatoare. Solutie

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("barca.in");
ofstream g("barca.out");
long long n,i;
int main()
{
 f>>n;
 g<<4*n<<endl;
 for (i=1;i<=n;++i)
   g<<"IG"<<endl<<"I"<<endl<<i<<endl<<"G"<<endl;
return 0;
}

Etichete: barcaC++OMI solutiiprobleme informaticasolutie problema

— Albulescu Cosmina a scris 223 articole

Nu există o descriere a autorului.

  • Articolul anterior Depisicizare online
  • Articolul următor Romania in top 10 at spam

  • Facebook

    WorldIT.info
  • Ultimele Atacuri Cibernetice din Romania – RO Hacked

    [wp_rss_retriever url="https://rohacked.bit-sentinel.com/feed/" excerpt="none" items="5" read_more="false" new_window="true" thumbnail="false" cache="0"] RO Hacked este registrul atacurilor cibernetice din România.
  • Caută

  • Articole Recomandate

    • Recent Posts
    • Tags
    • Număr record de participanți la DefCamp 2015, cel mai important eveniment dedicat securității cibernetice din Europe Centrala si de Estdecembrie 2, 2015
    • La DefCamp 2015 vei afla prin ce tehnici pot fi evitate măsurile de securitate ale sistemelor informatice criticeoctombrie 16, 2015
    • Ultima sansa sa rezervi bilete de tip Early Bird la DefCamp 2015septembrie 1, 2015
    • 15 sfaturi despre cum poti deveni un programator bun venite de la specialisti romaniaugust 4, 2015
    • algoritmica Android antivirus Apple Avadanei Andrei benzi desenate BitDefender blog browser C++ Chrome concurs eveniment Facebook Firefox Google google chrome hacking html5 infografic informatica internet Internet Explorer IT javascript linux Microsoft Mozilla Firefox online PHP programare retea sociala review Romania securitate Tehnologie Twitter web Windows Windows 7 Wordpress WorldIT worldit.info Yahoo! YouTube
  • februarie 2021
    L Ma Mi J V S D
    1234567
    891011121314
    15161718192021
    22232425262728
    « dec.    
  • Link-uri Sponsorizate

    • laptop second hand

    • Calculatoare Second Hand

    • cod voucher pc garage

  • Home
  • Tehnic
  • C/C++
  • Probleme algoritmică
  • Problema Barca
  • Important

    • Bit Sentinel
    • Centrul de Cercetare în Securitate Informatică din România
    • DefCamp
  • Prieteni

    • BetiT.ro
    • bijuterii handmade
    • Computerica | Resurse gratuite PC
    • Descopera.org
    • Gadgeturi si IT – Giz.ro
  • Prieteni

    • PC – Config
    • RO Hacked
    • Stiri IT

Copyright © 2009-2014 WORLDIT. Toate drepturile Rezervate.
Termeni și condiții | Contact | Licența Creative Commons