andreisophie

Tema 25 nov 2019

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