Advertisement
Racknoss

Проект ЭВМ

Feb 9th, 2016
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.00 KB | None | 0 0
  1. //Задача C.
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     int N, U;
  9.     cin >> N;
  10.     int M[102] = {};
  11.     for (int i = 2; i < N + 1; i++)
  12.     {
  13.         cin >> M[i];
  14.     }
  15.     cin >> U;
  16.     int St[102] = {}; St[0] = U;
  17.     int stcount = 1;
  18.     int res = N-1;
  19.     for (int i = U + 1; i < N + 1; i++)
  20.     {
  21.         bool B = false;
  22.         for (int j = 0; j < stcount && !B; j++)
  23.         {
  24.             if (St[j] == M[i])
  25.             {
  26.                 res--;
  27.                 St[stcount] = i;
  28.                 stcount++;
  29.                 B = true;
  30.             }
  31.         }
  32.     }
  33.     cout << res;
  34.     system("pause");
  35.     return 0;
  36. }
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43. //Задача D
  44. #include <iostream>
  45. #include <string>
  46.  
  47. using namespace std;
  48.  
  49. string Perevor(string s)//Функция переворота части строки
  50. {
  51.     string res;
  52.     res = "S";
  53.     for (int i = s.size()-1; i >= 0; i--)
  54.     {
  55.         string temp = s.substr(i, 1);
  56.         res.insert(res.size() - 1, temp);
  57.     }
  58.     res.erase(s.size(), 1);
  59.     return res;
  60. }
  61.  
  62.  
  63. int main()
  64. {
  65.     string s;
  66.     getline(cin, s);
  67.     int Pro[1000] = {};
  68.     int Procount = 0;
  69.     s = " " + s;//Добавляю начальный пробел
  70.     for (int i = 0; i < s.size() - 1; i++)//Нахожу координаты пробелов
  71.     {
  72.         if (s[i] == ' ')
  73.         {
  74.             Pro[Procount] = i;
  75.             Procount++;
  76.         }
  77.     }
  78.     for (int i = 0; i < Procount; i++)
  79.     {
  80.    
  81.         string temp = s.substr(Pro[i] + 1, Pro[i + 1] - Pro[i]-1);//Вырезаю строку по пробелам
  82.         cout << Perevor(temp) << " ";//Переворот и вывод
  83.     }
  84.     system("pause");
  85.     return 0;
  86. }
  87.  
  88.  
  89.  
  90.  
  91.  
  92. //Задача B
  93. #include <iostream>
  94.  
  95. using namespace std;
  96.  
  97.  
  98. long long Fact(int a)//Функция вычисления факториала
  99. {
  100.     long long res = 1;
  101.     for (int i = 1; i <= a; i++)
  102.     {
  103.         res *= i;
  104.     }
  105.     return res;
  106. }
  107.  
  108. int main()
  109. {
  110.     int N;
  111.     cin >> N;
  112.     int MassAcount;
  113.     cin >> MassAcount;
  114.     int A[22] = {};
  115.     for (int i = 0; i < MassAcount; i++)
  116.     {
  117.         cin >> A[i];
  118.     }
  119.     long long res = Fact(N);
  120.     for (int i = 0; i < MassAcount; i++)
  121.     {
  122.         res /= Fact(A[i]);
  123.     }
  124.     cout << res;
  125.     system("pause");
  126.     return 0;
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement