Advertisement
LEGEND2004

HW #5 solutions

Aug 13th, 2024
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.62 KB | None | 0 0
  1. #pragma GCC optimize("O3")
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. #define int long long
  6. #define double long double
  7. #define _FastIO ios_base::sync_with_stdio(0); cin.tie(0)
  8. #define F first
  9. #define S second
  10. const int mod = 1e9 + 7;
  11.  
  12.  
  13. int digits(int n){ // number of digits
  14.     int cnt = 0;
  15.     while(n){
  16.         cnt++;
  17.         n /= 10;
  18.     }
  19.     return cnt;
  20. }
  21.  
  22. bool pal(string s){/*
  23.     int n = s.size();
  24.     for(int i = 0; i + i < n; i++){
  25.         if(s[i] != s[n - i - 1])
  26.             return 0;
  27.     }
  28.     return 1;*/
  29.     string h = s;
  30.     reverse(h.begin() , h.end());
  31.     return s == h;
  32. }
  33.  
  34. signed main()
  35. {
  36.     _FastIO;
  37.     /*
  38.     // A
  39.     int n;
  40.     cin >> n;
  41.     int a[n + 5];
  42.     for(int i = 0; i < n; i++){
  43.         cin >> a[i];
  44.     }
  45.     sort(a , a + n);
  46.     cout << a[n - 1] - a[0] << '\n';
  47.     */
  48.     /*
  49.     // B
  50.     string s;
  51.     cin >> s;
  52.     map<char , int> cnt;
  53.     int x = 0;
  54.     for(char i : s){
  55.         cnt[i]++;
  56.         x = max(x , cnt[i]);
  57.     }
  58.  
  59.     for(auto i : cnt){
  60.         // i.F char (herf)
  61.         // i.S int (sayi)
  62.         if(i.S == x){
  63.             cout << i.F << '\n';
  64.             return 0;
  65.         }
  66.     }
  67.     */
  68.     /*
  69.     // C
  70.     int n;
  71.     cin >> n;
  72.     int a[n + 5] , b[n + 5];
  73.     for(int i = 0; i < n; i++){
  74.         cin >> a[i];
  75.     }
  76.     for(int i = 0; i < n; i++){
  77.         cin >> b[i];
  78.     }
  79.     int ans = 0;
  80.     for(int i = 0; i < n; i++){
  81.         if(a[i] > b[i])
  82.             ans += a[i] - b[i];
  83.     }
  84.     cout << ans << '\n';
  85.     */
  86.     /*
  87.     // D
  88.     string a , b;
  89.     cin >> a >> b;
  90.     int n = a.size() , m = b.size();
  91.     int i = 0;
  92.     for(int j = 0; j < m; j++){
  93.         if(a[i] == b[j]){
  94.             i++;
  95.             cout << j + 1 << " ";
  96.         }
  97.         if(i == n)
  98.             break;
  99.     }
  100.     */
  101.     /*
  102.     // 1 3
  103.     // 2 1
  104.     // abs(1 - 2) + abs(3 - 1) = 3
  105.     // E
  106.     int n , m;
  107.     cin >> n >> m;
  108.     char c;
  109.     vector<pair<int , int> > v;
  110.     for(int i = 1; i <= n; i++){
  111.         for(int j = 1; j <= m; j++){
  112.             cin >> c;
  113.             if(c == 'o')
  114.                 v.push_back({i , j});
  115.         }
  116.     }
  117.     int ans = abs(v[1].F - v[0].F) + abs(v[1].S - v[0].S);
  118.     cout << ans << '\n';
  119.     */
  120.     /*
  121.     // E
  122.     int n;
  123.     cin >> n;
  124.     int a[n + 5];
  125.     for(int i = 0; i < n; i++){
  126.         cin >> a[i];
  127.     }
  128.     int cnt = 0;
  129.     for(int i = 1; i < n - 1; i++){
  130.         if(a[i] > a[i - 1] && a[i] < a[i + 1])
  131.             cnt++;
  132.         if(a[i] < a[i - 1] && a[i] > a[i + 1])
  133.             cnt++;
  134.     }
  135.     cout << cnt << '\n';
  136.     */
  137.     /*
  138.     string a , b;
  139.     int n , m;
  140.     cin >> n >> m >> a >> b;
  141.     bool p = b.substr(0 , n) == a;
  142.     bool s = b.substr(m - n) == a;
  143.  
  144.     if(p && s)
  145.         cout << 0;
  146.     else if(p && !s)
  147.         cout << 1;
  148.     else if(!p && s)
  149.         cout << 2;
  150.     else
  151.         cout << 3;
  152.     */
  153.     /*
  154.     string s;
  155.     cin >> s;
  156.     for(int i = 0; i < s.size(); i += 2)
  157.         cout << s[i];
  158.     */
  159.     /*
  160.     // I
  161.     int n;
  162.     cin >> n;
  163.     int ans = 0;
  164.     for(int i = 1; i <= n; i++){
  165.         ans += digits(i) % 2;
  166.     }
  167.     cout << ans << '\n';
  168.     */
  169.     /*
  170.     // J
  171.     int n;
  172.     cin >> n;
  173.     string a[n + 5];
  174.     for(int i = 0; i < n; i++){
  175.         cin >> a[i];
  176.     }
  177.     string ans = "No";
  178.      // i != j
  179.     for(int i = 0; i < n; i++){
  180.         for(int j = 0; j < n; j++){
  181.             if(i == j)
  182.                 continue;
  183.             // i != j
  184.             if(pal(a[i] + a[j]))
  185.                 ans = "Yes";
  186.         }
  187.     }
  188.     cout << ans << '\n';
  189.     */
  190.     /*
  191.     // K
  192.     int n , m;
  193.     cin >> n >> m;
  194.     char c;
  195.     int cnt[m + 5];
  196.     fill(cnt , cnt + m + 5, 0);
  197.     for(int i = 1; i <= n; i++){
  198.         for(int j = 1; j <= m; j++){
  199.             cin >> c;
  200.             if(c == 'x')
  201.                 cnt[j]++;
  202.         }
  203.     }
  204.     int x = 0 , ans = 0;
  205.     for(int i = 1; i <= m; i++){
  206.         if(!cnt[i])
  207.             x++;
  208.         else
  209.             x = 0;
  210.  
  211.         ans = max(ans , x);
  212.     }
  213.  
  214.     cout << ans << '\n';
  215.     */
  216.  
  217.     /*
  218.     // y = k * x + b
  219.  
  220.     // 0 0
  221.     // 1 2
  222.     // (2 - 0) / (1 - 0) = 2 / 1 = 2
  223.     // L
  224.     int n;
  225.     cin >> n;
  226.     int x[n + 5] , y[n + 5];
  227.     for(int i = 0; i < n; i++){
  228.         cin >> x[i] >> y[i];
  229.     }
  230.  
  231.     // i < j
  232.     int ans = 0;
  233.     for(int i = 0; i < n; i++){
  234.         for(int j = i + 1; j < n; j++){
  235.             // x[i] y[i]
  236.             // x[j] y[j]
  237.             double k = (y[j] - y[i]) * 1.0 / (x[j] - x[i]);
  238.             if(-1 <= k && k <= 1)
  239.                 ans++;
  240.         }
  241.     }
  242.     cout << ans << '\n';
  243.     */
  244. }
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement