Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.23 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <fstream>
  4. using namespace std;
  5.  
  6. ///////////////////////////////////////////////////////////////////Regine & Permutari/////////////////////////////////////////////////////////////
  7. /* int n,x[10];
  8. void citire()
  9. {
  10. cin>>n;
  11.  
  12. }
  13. void afisare()
  14. {
  15. for(int i=1;i<=n;i++)
  16. cout<<"("<<i<<","<<x[i]<<")"<<endl;
  17.  
  18. }
  19. int cont(int k)
  20. {
  21. int i , ok=1;
  22. for(i=1;i<=k-1;i++)
  23. if(x[k]==x[i]||abs(x[k]-x[i]==k-i))
  24. //Permutari fara abs.
  25. ok=0;
  26. return ok;
  27. }
  28. void bt()
  29. {
  30. int i,k;
  31. for(i=1;i<=n;i++)
  32. x[i]=0;
  33. k=1;
  34. while(k>0)
  35. if(k==n+1){afisare();k--;}
  36. else if(x[k]<n)
  37. {
  38. x[k]++;
  39. if(cont(k))
  40. k++;}
  41. else {x[k]=0;k--;}}
  42. int main()
  43. {
  44. citire();
  45. bt();
  46.  
  47. return 0;
  48. }
  49. */
  50. /*
  51. ///////////////////////////////////////////////////////////////////Aranjamente/////////////////////////////////////////////////////////////
  52. int n ,p, x[10];
  53. void citire()
  54. {
  55. cin>>n>>p;
  56. }
  57. void afisare()
  58. {
  59. for(int i=1;i<=p;i++)
  60. cout<<x[i]<<" "<<endl;
  61. }
  62. int cont(int k)
  63. {
  64. int i , ok=1;
  65. for(i=1;i<=k-1;i++)
  66. if(x[k]==x[i])
  67. ok=0;
  68. return ok;
  69.  
  70. }
  71. void bt()
  72. {
  73. int i , k;
  74. for(i=1;i<=p;i++)
  75. x[i]=0;
  76. k=1;
  77. while(k>0)
  78. if(k==p+1)
  79. {
  80. afisare();
  81. k--;
  82. }
  83. else if(x[k]<n)
  84. {
  85. x[k]++;
  86. if(cont(k))
  87. k++;
  88. else {x[k]=0; k--;}
  89. }
  90. }
  91. int main ()
  92. {
  93. citire();
  94. bt();
  95. }
  96. */
  97. ///////////////////////////////////////////////////////////////////Suma MONEDE/////////////////////////////////////////////////////////////
  98. /*
  99. int n,x[10],v[21],s;
  100.  
  101. void citire()
  102. {
  103. cin>>n>>p;
  104. }
  105. void afisare()
  106. { int s1=0;
  107. for(int i=1;i<=n;i++)
  108. s1+=x[i]*v[i];
  109. if(s1==s)
  110. for(int i=1;i<=n;i++)
  111.  
  112. cout<<x[i]<<"monede de valoarea "<<v[i]<<endl;
  113. }
  114. int continuare(int k)
  115. {
  116. int i ,ok=1,s1=0;
  117. for(i=1;i<=k;i++)
  118. s1+=x[i]*v[i];
  119. if(s1>s)
  120. ok=0;
  121. return ok;
  122. }
  123. void bt()
  124. {
  125. int i,k;
  126. for(i=1;i<=n;i++)
  127. x[i]=-1;
  128. k=1;
  129. while(k>0)
  130. if(k==n+1){afisare();cout<<endl;k--;}
  131. else if(x[k]<s/v[k])
  132. {
  133. x[k]++;
  134. if(continuare(k))k++;
  135. }
  136. else {x[k]=-1;k--;}
  137. }
  138. int main()
  139. {
  140. f>>n;
  141. for(int i=1;i<n;i++)f>>v[i];
  142. f>>s;
  143. bt();
  144. return 0;
  145. }
  146.  
  147. */
  148.  
  149. ///////////////////////////////////////////////////////////////////Portionare/////////////////////////////////////////////////////////////
  150.  
  151. /*
  152. int n,x[10];
  153.  
  154. void citire()
  155. {
  156. cin>>n;
  157. }
  158. void afisare()
  159. { int s1=0;
  160. for(int i=1;i<=n;i++)
  161. s1+=(x[i]*i);
  162. if(s1==n)
  163. {for(int i=1;i<=n-1;i++)
  164. if(x[i]==1)
  165.  
  166. cout<<i<<" ";
  167. cout<<endl;}}
  168.  
  169. int continuare(int k)
  170. {
  171. int i ,ok=1,s1=0;
  172. for(i=1;i<=k;i++)
  173. s1+=(x[i]*i);
  174. if(s1>n)
  175. ok=0;
  176. return ok;
  177. }
  178. void bt()
  179. {
  180. int i,k;
  181. for(i=1;i<=n-1;i++)
  182. x[i]=-1;
  183. k=1;
  184. while(k>0)
  185. if(k==n){afisare();cout<<endl;k--;}
  186. else if(x[k]<1)
  187. {
  188. x[k]++;
  189. if(continuare(k))k++;
  190. }
  191. else {x[k]=-1;k--;}
  192. }
  193. int main()
  194. {
  195. bt();
  196. return 0;
  197. }
  198. */
  199.  
  200. ///////////////////////////////////////////////////////////////////Produsul Cartezian/////////////////////////////////////////////////////////////
  201. /*
  202. int n,x[10];
  203.  
  204. void citire()
  205. {
  206. cin>>n>>m;
  207. }
  208. void afisare()
  209. { for(int i=1;i<=n;i++)
  210. cout<<x[i]<<" ";
  211. cout<<endl;}
  212.  
  213. int continuare(int k)
  214. {
  215. return 1;
  216. }
  217. void bt()
  218. {
  219. int i,k;
  220. k=1;
  221. while(k>0)
  222. if(k==n+1){afisare();cout<<endl;k--;}
  223. else if(x[k]<m)
  224. {
  225. x[k]++;
  226. if(continuare(k))k++;
  227. }
  228. else {x[k]=0;k--;}
  229. }
  230. int main()
  231. {
  232. bt();
  233. return 0;
  234. }
  235. */
  236.  
  237. ///////////////////////////////////////////////////////////////////Colorarea/////////////////////////////////////////////////////////////
  238.  
  239. /*
  240. int n,m,a[10][10],x[10];
  241.  
  242. void citire()
  243. {
  244. int i,y,x;
  245. ifstream..
  246. f>>n>>m;
  247. while(f>>x>>y)
  248. {
  249. a[x][y]=1;
  250. a[y][x]=1;
  251. }
  252. }
  253. void afisare()
  254. { for(int i=1;i<=n;i++)
  255. cout<<x[i]<<" ";
  256. cout<<endl;}
  257.  
  258. int continuare(int k)
  259. {
  260. int i,k,ok=1;
  261. for(i=1;i<=k=1;i++)
  262. if(x[k]==x[i]&&a[i][k]==1)
  263. ok=0;
  264. return ok;
  265. }
  266. void bt()
  267. {
  268. int i,k;
  269. k=1;
  270. while(k>0)
  271. if(k==n+1){afisare();cout<<endl;k--;}
  272. else if(x[k]<m)
  273. {
  274. x[k]++;
  275. if(continuare(k))k++;
  276. }
  277. else {x[k]=0;k--;}
  278. }
  279. int main()
  280. {
  281. bt();
  282. return 0;
  283. }
  284. */
  285.  
  286. ///////////////////////////////////////////////////////////////////PROBLEMA CHESTIE CONVOIAJOR/////////////////////////////////////////////////////////////
  287. /*
  288. int n,m,a[10][10],x[10];
  289.  
  290. void citire()
  291. {
  292. int i,y,x;
  293. ifstream..
  294. f>>n>>m;
  295. while(f>>x>>y)
  296. {
  297. a[x][y]=1;
  298. a[y][x]=1;
  299. }
  300. }
  301. void afisare()
  302. { int i;
  303. if(a[x[n]][m]==1)
  304. for(i=1;i<=n;i++)
  305. cout<<x[i]<<" ";
  306. cout<<m;
  307. cout<<endl;}
  308.  
  309. int continuare(int k)
  310. {
  311. int i,k,ok=1;
  312. for(i=1;i<=k-1;i++)
  313. if(x[k]==x[i]||a[x[k]][x[k-1]]==0)
  314. ok=0;
  315. return ok;
  316. }
  317. void bt()
  318. {
  319. int i,k;
  320. for(i=2;i<=n;i++)
  321. x[i]=0;
  322. k=1;
  323. x[1]=m;
  324. while(k>1)
  325. if(k==n+1){afisare();cout<<endl;k--;}
  326. else if(x[k]<n)
  327. {
  328. x[k]++;
  329. if(continuare(k))k++;
  330. }
  331. else {x[k]=0;k--;}
  332. }
  333. int main()
  334. {
  335. bt();
  336. return 0;
  337. }
  338. */
  339. ///////////////////////////////////////////////////////////////////Combinari/////////////////////////////////////////////////////////////
  340. /*
  341. int n ,p, x[10];
  342. void citire()
  343. {
  344. cin>>n>>p;
  345. }
  346. void afisare()
  347. {
  348. for(int i=1;i<=p;i++)
  349. cout<<x[i]<<" "<<endl;
  350. }
  351. int cont(int k)
  352. {
  353. int i , ok=1;
  354. for(i=1;i<=k-1;i++)
  355. if(x[k]==x[i])
  356. ok=0;
  357. if(k>1&&x[k]<x[k-1])
  358. ok=0;
  359. return ok;
  360.  
  361. }
  362. void bt()
  363. {
  364. int i , k;
  365. for(i=1;i<=p;i++)
  366. x[i]=0;
  367. k=1;
  368. while(k>0)
  369. if(k==p+1)
  370. {
  371. afisare();
  372. k--;
  373. }
  374. else if(x[k]<n)
  375. {
  376. x[k]++;
  377. if(cont(k))
  378. k++;
  379. else {x[k]=0; k--;}
  380. }
  381. }
  382. int main ()
  383. {
  384. citire();
  385. bt();
  386. }
  387. */
  388. ///////////////////////////////////////////////////////////////////Generarea sub mult./////////////////////////////////////////////////////////////
  389. /*
  390. int n ,x[20];
  391. void citire();
  392. {
  393. cin>>n;
  394.  
  395. }
  396. void afisare()
  397. {
  398. cout<<"{";
  399. for(int i=1 ; i<=n;i++)
  400. if(x[i]==1)
  401. cout<<i<<" ";
  402. cout<<"}"<<endl;
  403. }
  404. int continuare(int k)
  405. {
  406. return 1;
  407. }
  408. void bt()
  409. {
  410. int i,k;
  411. for(i=1;i<=n;i++)
  412. x[i]=-1;
  413. k=1;
  414. while(k>0)
  415. if(k==n+1)
  416. {afisare();
  417. k--;
  418. }
  419. else if(x[k]<1)
  420. {
  421. x[k]++;
  422. if(continuare(k)==1)
  423. k++;
  424.  
  425. }
  426. else{x[k]=-1;
  427. k--;
  428. }
  429. }
  430. int main()
  431. {
  432. citire();
  433. bt();
  434. return 0;
  435. }
  436. */
  437.  
  438.  
  439.  
  440.  
  441. GREEDY
  442.  
  443.  
  444. ///////////////////////////////////////////////////////////////////SUMA///////////////////////////////////////////////////////////////////
  445.  
  446. /*
  447. int n,v[101];
  448. void citire()
  449. {
  450. cin>>n;
  451. for(int i=1;i<=n;i++)
  452. cin>>v[i];
  453. }
  454. void rez();
  455. {
  456. for(int i=1;i<=n;i++)
  457. if(v[i]>0)
  458. cout<<v[i]<<" ";
  459. cout<<endl;
  460.  
  461. }
  462. int main()
  463. {
  464. citire();
  465. rez();
  466. return 0;
  467. }
  468. */
  469.  
  470.  
  471. /////////////////////////////////////////////////////////RUCSAC OBOSIT///////////////////////////////////////////////////////////////////////
  472. /*
  473. int G,m,gr[21],c[21];
  474. float e[21];
  475.  
  476. void citire()
  477. {
  478. int i;
  479. ifstream f("date.in");
  480. f>>G>>n;
  481. for(i=1;i<=n;i++)
  482. f>>gr[i];
  483. for(i=1;i<=n;i++)
  484. {
  485. f>>c[i];
  486. e[i]=(float)c[i]/gr[i];
  487. }
  488. f.close();
  489. }
  490. void Greedy()
  491. {
  492. int ok , aux1,i;
  493. float aux2;
  494. do{ok=0;
  495. for(i=0;i<n;i++)
  496. {
  497. if(e[i]<e[i+1])
  498. {
  499. aux1=gr[i];
  500. gr[i]=gr[i+1];
  501. gr[i+1]=aux1;
  502. aux2=c[i];
  503. c[i]=c[i+1];
  504. c[i+1]=aux2;
  505. aux2=e[i];
  506. e[i]=e[i+1];
  507. e[i+1]=aux2;
  508. ok=1;
  509. }
  510. }
  511. }while(ok==1);
  512.  
  513. float G1=0;s=0;
  514. while(G1<G && i<=n)
  515. {
  516. if(G1+gr[i]<=G)
  517. {
  518. cout<<gr[i]<<" "<<c[i];
  519. G1=gr[i];
  520. s+=c[i];
  521. i++;
  522. cout<<"Se ia obiectul cu greutate " <<gr[i]<<" si castigul "<<c[i]<<endl;
  523.  
  524. }
  525. else {float p;
  526. p=(G-G1)/gr[i];
  527. G1=G;
  528. s=s+c[i]*p;
  529. i++;
  530. cout<<"Se iau obiectele cu greutate " <<p*gr[i]<<" din cele cu greutate "<<gr[i]<<" si castigul "<<c[i]<<endl;
  531. }
  532. }
  533. cout<<"castigul total "<<s<<endl;
  534. return 0;
  535. }
  536. main..
  537. */
  538. /////////////////////////////////////////////////////////SPECTACOLE///////////////////////////////////////////////////////////////////////
  539. /*
  540. int n,nr[101],inceput[101],sf[101];
  541. void citire()
  542. { ifstream..
  543. int i , ora , min;
  544. f>>n;
  545. for(i=1;i<=n;i++)
  546. inceput[i]=ora*60+min;
  547. f>>ora>>min;
  548. sf[i]=ora*60+min;
  549. nr[i]=i;
  550. }
  551. void ordonare()
  552. {
  553. int aux , ok;
  554. do{ok=0;
  555. for(i=1;i<n;i++)
  556. if(sf[nr[i]]>sf[nr[i+1]])
  557. {
  558. aux=nr[i];
  559. nr[i]=nr[i+1];
  560. nr[i+1]=aux;
  561. ok=1;
  562. }
  563. }while(ok==1);
  564. }
  565. void spectacole()
  566. {
  567. ofstream..
  568. int i;
  569. int ultim;
  570. g<<nr[i]<<" ";
  571. ultim=nr[i];
  572. for(i=2;i<=n;i++)
  573. {
  574. if(inceput[nr[i]]>sf[ultim])
  575. {g<<nr[i]<<" ";
  576. ultim=nr[i];
  577. }}
  578. g.close();
  579. }
  580. int main
  581. ..
  582. */
  583. ///////////////////////////////////////////////////////////////////////TIMP DE ASTEPTARE////////////////////////////////////////////////////////
  584. /*
  585. struct pacient{int o,t}v[101],aux;
  586. void citire()
  587. {
  588. int i
  589. ifstream..
  590. f>>n;
  591. for(i=1;i<=n;i++)
  592. v[i].o=i;
  593. f>>v[i].t;
  594. f.close();
  595. }
  596. void ordonare()
  597. {
  598. int i,ok;
  599. do{ok=0;
  600. for(i=1;i<n;i++)
  601. if(v[i].t>v[i+1].t)
  602. {
  603. aux=v[i];
  604. v[i]=v[i+1];
  605. v[i+1]=aux;
  606. ok=1;
  607. }
  608. }while(ok==1);
  609. }
  610. int main()
  611. {
  612. citire();
  613. ordonare();
  614. int i,s=0;
  615. for(i=1;i<=n;i++)
  616. {
  617. cout<<v[i].o<<" ";}
  618. for(i=1;i<=n;i++)
  619. s+=v[i].t*(n-1);
  620. cout<<"timpul mediu de asteptare este : " <<(float)s/n;
  621. return 0;
  622. }
  623. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement