Probleme Info.docx

  • Uploaded by: gimalau
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Probleme Info.docx as PDF for free.

More details

  • Words: 1,213
  • Pages: 6
#91 Masini Enunt:În curtea unui atelier de reparaţii auto, sunt n maşini care trebuie sa fie reparate. Deoarece nu sunt suficienţi mecanici, în fiecare moment de timp se poate lucra doar la o singură maşină. Cerinţa:Cunoscând timpul necesar pentru repararea fiecărei maşini, scrieţi un program care calculează numărul maxim de maşini care pot fi reparate într-un interval de timp T. Date de intrare:Pe prima linie a fişierului masini.in se găsec două numere naturale n şi T separate printr-un singur spaţiu, reprezentând numărul de maşini din curtea atelierului auto şi timpul total în care se va lucra. Pe linia a doua, separate prin câte un spaţiu, se găsesc n numere naturale t1, t2, …, tn, reprezentând timpii necesari pentru repararea fiecărei maşini. Date de ieşire:Pe prima linie a fişierului masini.out se va găsi un număr natural k, reprezentând numărul maxim de maşini care pot fi reparate. Restricţii şi precizări:1 < n, T <= 1000 numerele de pe a doua linie a fişierului de intrare vor fi mai mici sau egale cu 100

#include #include using namespace std; ifstream f("masini.in"); ofstream g("masini.out"); int n,m,v[1001],T; void citire() {for(int i=1;i<=n;i++) f>>v[i]; } void ordonare() {for(int i=1;iv[j]) { int aux=v[i]; v[i]=v[j]; v[j]=aux; } } void numarare() {int nr=0,s=0; for(int i=1;i<=n;i++) if(s>n>>T; citire(); ordonare(); numarare(); return 0; }

#92 Proiecte Enunt:La un birou care se ocupă cu analiza proiectelor de investiţii, n investitori au depus până la termenul legal, câte un proiect. Cerinţa : Cunoscând timpul necesar pentru analizarea fiecărui proiect, scrieţi un program care determină ordinea în care vor fi analizate proiectele, astfel încât timpul mediu de aşteptare pentru investitori să fie minim. Date de intrare : Pe prima linie a fişierului proiecte.in se găseşte un număr natural n reprezentând numărul de proiecte depuse. Pe linia a doua, separate prin câte un spaţiu, se găsesc n numere naturale t1, t2, …, tn, reprezentând timpii necesari pentru analizarea fiecărui proiect. Date de ieşire: Pe prima linie a fişierului proiecte.out se vor găsi n numere naturale cuprinse între 1 şi n, reprezentând ordinea în care vor fi analizate proiectele. Restricţii şi precizări :1 ≤ n ≤ 1000, numerele de pe a doua linie a fişierului de intrare vor fi mai mici sau egale cu 100

#include #include using namespace std; ifstream f("proiecte.in"); ofstream g("proiecte.out"); int n,i,j; struct proiecte{int t,o;}v[1001]; void citire() { for(int i=1;i<=n;i++) {f>>v[i].t; v[i].o=i;}} ordonare() {for(i=1;i<=n;i++) for( j=i+1;j<=n;j++) if(v[i].t>v[j].t) { proiecte aux=v[i]; v[i]=v[j]; v[j]=aux; } } void afisare() { for(i=1;i<=n;i++) g<>n; citire(); ordonare(); afisare(); return 0; }

#398 Plopi2 Cerinţa :De-a lungul principalei străzi din orașul nostru există n plopi, pentru fiecare cunoscându-se înălțimea. Primarul orașului dorește ca plopii să aibă înălțimile în ordine descrescătoare. Pentru aceasta, este posibilă tăierea dintr-un plop a unei bucăți – este o tehnică ecologică, nevătămătoare, în urma căreia plopul nu are de suferit. Plopii nu pot fi înălțați în niciun fel. Determinați numărul minim de plopi din care se va tăia și lungimea totală minimă a bucăților tăiate. Date de intrare :Fișierul de intrare plopi2.in conține pe prima linie numărul de plopi n. Urmează n numere naturale nenule, separate prin spaţii, care pot fi dispuse pe mai multe linii, reprezentând înălțimile plopilor. Date de ieşire :Fișierul de ieșire plopi2.out va conține pe prima linie numerele C T, separate prin exact un spațiu, reprezentând numărul minim de plopi din care se va tăia și lungimea totală minimă a bucăților tăiate. Restricţii şi precizări: 2 ≤ n ≤ 100 înălțimile plopilor vor fi mai mici decât 10000

#include using namespace std; ifstream f("plopi2.in"); ofstream g("plopi2.out"); int n,a[101],nr,l; void citire() { f>>n; for(int i=1;i<=n;i++) f>>a[i]; } void greedy() { for(int i=2;i<=n;i++) if(a[i]>a[i-1]) {nr++; l=l+a[i]-a[i-1]; a[i]=a[i-1]; } } int main() {citire(); greedy(); g<
#353 Spectacole Enunt :La un festival sunt programate n spectacole, pentru fiecare se cunoaşte momentul de început și momentul de sfârșit, exprimate prin numere naturale. Un spectator dorește să urmărească cât mai multe spectacole în întregime. Determinați numărul maxim de spectacole care pot fi urmărite, fără ca acestea să se suprapună. Date de intrare: Fişierul de intrare spectacole.in conţine pe prima linie numărul n. Pe fiecare dintre următoarele n linii se află câte două numere naturale X Y, reprezentând momentul de început și momentul de sfârșit al unui spectacol. Date de ieşire: Fişierul de ieşire spectacole.out va conţine pe prima linie numărul S, reprezentând numărul maxim de spectacole care pot fi urmărite, fără să se suprapună. Restricţii şi precizări: 1 ≤ n ≤ 100 momentele de început și sfârșit ale spectacolelor sunt numere naturale mai mici decât 1000000 pentru fiecare spectacol, X < Y dacă momentul de început al unui spectacol și momentul de sfârșit al altui spectacol coincid, pot fi urmărite ambele spectacole

#include #include using namespace std; ifstream f("spectacole.in"); ofstream g("spectacole.out"); int n,nr; struct spectacol{int x,y;} a[101],b[101];

void citire() {f>>n; for(int i=1;i<=n;i++) f>>a[i].x>>a[i].y; } void ord() {for(int i=1;i=a[j].y) {struct spectacol aux=a[i]; a[i]=a[j]; a[j]=aux; } } } void formare() {nr=1; b[1]=a[1]; for(int i=2;i<=n;i++) if(a[i].x>=b[nr].y) {nr++;b[nr]=a[i]; } } int main() {citire(); ord(); formare(); g<
#2271 ProdMax1 Cerința: Se dă un șir cu n numere întregi. Determinați cel mai mare număr care poate fi scris ca produs de două elemente ale șirului. Date de intrare: Programul citește de la tastatură numărul n, iar apoi cele n elemente ale șirului. Date de ieșire: Programul va afișa pe ecran numărul determinat P. Restricții și precizări: 1 ≤ n ≤ 100000 elementele șirului vor fi cuprinse în intervalul (1000000, 1000000)

#include #include using namespace std; int n,v[100001]; int main() {cin>>n; for(int i=1;i<=n;i++) cin>>v[i]; sort(v+1,v+n+1); if((v[1]*v[2])>(v[n1]*v[n])) cout<
#403 Concert Enunt: Gigel este un cântăreț începător. El știe deja să cânte n melodii, și pentru fiecare melodie se cunoaște durata, exprimată în minute și secunde. Gigel va participa la o emisiune de televiziune, unde va putea cânta timp de T secunde. El vrea să cânte cât mai multe melodii, pentru a-și demonstra talentul deosebit. Ajutați-l să aleagă piesele pentru emisiune, și vă va răsplăti cu un autograf. Date de intrare: Fişierul de intrare concert.in conţine pe prima linie numerele n T. Fiecare dintre următoarele n linii conține durata unei melodii, în formatul m:s, unde m și s pot avea una sau două cifre. Date de ieşire: Fişierul de ieşire concert.out va conţine pe prima linie numărul M, reprezentând numărul maxim de melodii care pot fi alese. Următoarea linie va conține M numere între 1 și n, reprezentând numărul de ordine al melodiilor alese, așa cum sunt ele date în fișierul de intrare. Restricţii şi precizări : 1 ≤ n ≤ 100 1 ≤ T ≤ 1000 0 ≤ m ≤ 10 0 ≤ s ≤ 59

#include #include #include using namespace std; ifstream f("concert.in"); ofstream g("concert.out"); int n,T,m; char s[20]; struct concert {int nr, t; } a[1001],aux,b[1001]; void citire() { f>>n;f>>T; for(int i=1;i<=n;i++) { f>>s; a[i].t=0; int j=0; while(j<strlen(s)&&s[j]!=':') {a[i].t=a[i].t+(s[j]-48)*60; j++;} j++; a[i].t=a[i].t+(s[j]-48)*10+(s[j+1]-48); a[i].nr=i;} } void sort() {int i,j; for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) if(a[i].t>a[j].t) { aux=a[i];

a[i]=a[j]; a[j]=aux; } } void greedy() { int i=1;m=0; while(i<=n&&T>a[i].t) { m++;b[m]=a[i]; T=T-a[i].t; i++; } } void afis() {g<<m<<endl; for(int i=1;i<=m;i++) g<

Related Documents

Probleme
June 2020 19
Probleme
June 2020 15
Situation Probleme
May 2020 14
Probleme Sociale
June 2020 13
Probleme Impozit
May 2020 5
Probleme Info.docx
November 2019 21

More Documents from "gimalau"

New Text Document.txt
November 2019 13
15.11.2018.docx
November 2019 9
Probleme Info.docx
November 2019 21
New Text Document (2).txt
November 2019 8
Nativelog.txt
November 2019 14
New Text Document (4).txt
November 2019 12