๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
9.52K subscribers
5.56K photos
3 videos
95 files
9.7K links
๐ŸšฉMain Group - @SuperExams
๐Ÿ“Job Updates - @FresherEarth

๐Ÿ”ฐAuthentic Coding Solutions(with Outputs)
โš ๏ธDaily Job Updates
โš ๏ธHackathon Updates & Solutions

Buy ads: https://telega.io/c/cs_algo
Download Telegram
#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

long double pi = 3.14159265358979323846;

long double volume(long double h, long double r) {
    return pi * h * h * (r - h/3);
}

long double find_height(long double r, long double v) {
    long double low = 0, high = r;
    long double eps = 1e-18;

    while (high - low > eps) {
        long double mid = (low + high) / 2;
        if (volume(mid, r) < v) {
            low = mid;
        } else {
            high = mid;
        }
    }
    return low;
}

int main() {
    long double r, v;
    cin >> r >> v;

    long double h = find_height(r, v);
    cout << fixed << setprecision(7) << h << endl;

    return 0;
}
Astrome || Binary Searchโœ…
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

string sortWord(string word) {
    transform(word.begin(), word.end(), word.begin(), ::tolower);
    vector<char> charArr(word.begin(), word.end());
    int sum = 0;
    for (char ch : charArr) {
        sum += ch - 'a' + 1;
    }
    sort(charArr.begin(), charArr.end());
    if (sum % 2 == 0) {
        return string(charArr.begin(), charArr.end());
    }
    reverse(charArr.begin(), charArr.end());
    return string(charArr.begin(), charArr.end());
}

int main() {
    string s;
    getline(cin, s);
    vector<string> strArr;
    size_t pos = 0;
    string delimiter = "-";
    while ((pos = s.find(delimiter)) != string::npos) {
        strArr.push_back(s.substr(0, pos));
        s.erase(0, pos + delimiter.length());
    }
    strArr.push_back(s);
   
    sort(strArr.begin(), strArr.end(), [](string a, string b) {
        transform(a.begin(), a.end(), a.begin(), ::tolower);
        transform(b.begin(), b.end(), b.begin(), ::tolower);
        return a < b;
    });
   
    transform(strArr.begin(), strArr.end(), strArr.begin(), sortWord);
   
    string result = strArr[0];
    for (int i = 1; i < strArr.size(); i++) {
        result += "-" + strArr[i];
    }
    cout << result << endl;

    return 0;
}
Astrome||Sort Wordโœ…
#include <bits/stdc++.h>
using namespace std;

string multiply(string num1, string num2) {
    int len1 = num1.size();
    int len2 = num2.size();

    if (len1 == 0 len2 == 0) {
        return "0";
    }

    vector<int> result(len1 + len2, 0);
    int i_n1 = 0;
    int i_n2 = 0;

    for (int i = len1 - 1; i >= 0; i--) {
        int carry = 0;
        int n1 = num1[i] - '0';
        i_n2 = 0;

        for (int j = len2 - 1; j >= 0; j--) {
            int n2 = num2[j] - '0';
            int sum = n1 * n2 + result[i_n1 + i_n2] + carry;
            carry = sum / 10;
            result[i_n1 + i_n2] = sum % 10;
            i_n2++;
        }

        if (carry > 0) {
            result[i_n1 + i_n2] += carry;
        }

        i_n1++;
    }

    int i = result.size() - 1;
    while (i >= 0 && result[i] == 0) {
        i--;
    }

    if (i == -1) {
        return "0";
    }

    string s = "";
    while (i >= 0) {
        s += to_string(result[i--]);
    }

    return s;
}

int main() {
    string str1, str2;
    cin >> str1 >> str2;

    if ((
str1.at(0) == '-' str2.at(0) == '-') &&
        (str1.at(0) != '-' str2.at(0) != '-')) {
        cout << "-";
    }

    if (
str1.at(0) == '-') {
        str1 = str1.substr(1);
    }

    if (
str2.at(0) == '-') {
        str2 = str2.substr(1);
    }

    cout << multiply(str1, str2);

    return 0;
}
Astrome
Big Integer Multiplication โœ…
#include<bits/stdc++.h>
using namespace std;

int main() {
    string s;
    getline(cin, s);

    stringstream ss(s);
    string word;

    vector<string> v;
    while(ss >> word) {
        v.push_back(word);
    }


    int ans = 0;

    int n = v.size();

    for(int i = 0; i < v.size(); i++) {
        if(v[i] == "null")
            continue;
       
        int left = 2 * i + 1;
        int leftSum = 0;

        while(left < n){
            if(v[left] == "null")
                break;
            leftSum += stoi(v[left]);
            left = 2 * left + 1;
        }

        int right = 2 * i + 2;
        int rightSum = 0;

        while(right < n){
            if(v[right] == "null")
                break;
            leftSum += stoi(v[right]);
            right = 2 * right + 2;
        }

        if(2 * i + 1 >= n or 2 * i + 2 >= n){
            break;
        }
        else if(leftSum + rightSum == 0){
            ans++;
        }
    }

    cout << ans;
}
def find_submatrix(board, pattern):
    def is_match(x, y):
        current_subs = substitutions.copy()
       
        for i in range(len(pattern)):
            for j in range(len(pattern[0])):
                if pattern[i][j].isalpha():
                    if pattern[i][j] not in current_subs:
                        current_subs[pattern[i][j]] = board[x+i][y+j]
                    elif current_subs[pattern[i][j]] != board[x+i][y+j]:
                        return False
                else:
                    if board[x+i][y+j] != pattern[i][j]:
                        return False
        return True
   
    earliest_match = [-1, -1]
   
    for x in range(len(board) - len(pattern) + 1):
        for y in range(len(board[0]) - len(pattern[0]) + 1):
            substitutions = {}
           
            if is_match(x, y):
                return [x, y]
   
    return earliest_match

# Example usage
board = [
    [1, 2, 3, 4],
    [5, 6, 7, 8],
    [9, 1, 2, 3]
]

pattern = [
    ['A', 'B'],
    ['C', 'D']
]

result = find_submatrix(board, pattern)
print(f"Pattern found at coordinates {result}")  # Prints the earliest match or [-1, -1]
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
bool isNextLetter(char s, char t) {
    int distance = (t - s + 26) % 26;
    return distance == 1;
}

bool areAllNextLetters(const std::string& s, const std::string& t) {
    if (s.length() != t.length()) {
        return false; // Different lengths, not comparable
    }

    for (std::size_t i = 0; i < s.length(); ++i) {
        if (!isNextLetter(s[i], t[i])) {
            return false; // Found a position where the condition doesn't hold
        }
    }

    return true; // All positions satisfy the condition
}
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;cin>>n;int A[n];for(int i=0;i<n;i++)cin>>A[i];vector<vector<int>>minim(n,vector<int>(n,INT_MAX));
    for(int i=0;i<n;i++)minim[i][i]=i;
    for(int size=2;size<=n;size++)for(int st=0;st<=n-size;st++)
    {
        int en=st+size-1;
        if(A[minim[st+1][en]]>=A[st])minim[st][en]=st;else minim[st][en]=minim[st+1][en];
    }int dp[n+3][n+3];memset(dp,0,sizeof(dp));
    for(int i=0;i<n;i++)dp[i][i]=A[i];
    for(int size=2;size<=n;size++)for(int st=0;st<=n-size;st++)
    {
        int en=st+size-1;int x=minim[st][en];
        dp[st][en]=A[x];if(x-2>=0)dp[st][en]+=dp[st][x-2];if(x+2<=n)dp[st][en]+=dp[x+2][en];
    }cout<<dp[0][n-1];return 0;
}

Airtel โœ