let's start Code

Intra NSU Programming Contest Fall 2018 (Replay) - E

XOR on Pascal

Topic : Xor + combinatorics + Bigmod

Solution:


Share:

Intra NSU Programming Contest Fall 2018 (Replay) - G

Pota(t)o

#include<bits/stdc++.h>
using namespace std;
#define MAX 2000100
typedef long long ll;


int main()
{

 /* #ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
  #endif*/
    //double start_time = clock();
    int t;
    cin >> t;
    while(t--){
      string s;
      cin >> s;
      int n = s.size();
      int cnt = 0, mx = 0;
      stack<char>st;
      char last;
       while(!st.empty())st.pop();
       int flag = 0;
      for(int i = 0; i < n; i++){
        if(s[i] == '('){
          if(flag == 0){
            cnt = 0;
             while(st.size())st.pop();
          }
          flag = 1;
          st.push('(');
        }
        else{
          if(st.size() == 0)continue;
          if(st.top() == '('){
            cnt += 2;
            flag = 0;
            mx = max(cnt, mx);
            st.pop();
            if(st.size() == 0)cnt = 0;
          }
          else{
            cnt = 0;
            while(st.size())st.pop();
          }
        }
      }
      cout << mx << endl;
    }


  //double end_time = clock();
  //printf( "Time = %lf ms\n", ( (end_time - start_time) / CLOCKS_PER_SEC)*1000);

    return 0;
}


Share:

1202 - Bishops


 1202 - Bishops

#include<bits/stdc++.h>
using namespace std;
#define MAX 2000100
typedef long long ll;


int main()
{

  #ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
  #endif
    //double start_time = clock();
    int T;

    cin>>T;

    for(int i = 1; i <= T; i++)
    {
        ll r1,c1,r2,c2;
        cin >> r1 >> c1 >> r2 >> c2;
        if((r1+c1)%2 != (r2+c2)%2){
           cout<<"Case "<<i<<": impossible\n";
        }
        else{
           cout<<"Case "<<i<<": ";
           if((r1+c1) == (r2+c2) || ((r1 - c1) == (r2 - c2)))cout << "1\n";
           else cout << "2\n";
        }
    }

   //double end_time = clock();
  //printf( "Time = %lf ms\n", ( (end_time - start_time) / CLOCKS_PER_SEC)*1000);

    return 0;
}


Share:

Job Sequencing Problem

Share:

Euler’s Phi Function

Euler’s Phi Function:

Concept:  

Shoshikkha 

প্রোগ্রামিং পাতা 

topH 

 Type 01:

( যখন একসাথে অনেক গুলোর জন্য বের করতে হবে।)


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include<bits/stdc++.h>
using namespace std;
#define MAX 2000100

typedef long long ll;
ll phi[MAX];

void seivePHI(){
  ll i,j;
  for(i = 2; i < MAX; i++){
    if(phi[i] == 0){
      phi[i] = i - 1;
      for(j = i*2; j < MAX; j += i){
        if(phi[j] == 0)phi[j] = j;
        phi[j] /= i;
        phi[j] *= (i-1);
      }
    }
  }
}

int main()
{
   /* #ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
  #endif
    double start_time = clock();*/

    int t;
    seivePHI();
    cin >> t;
    for(int cs = 1; cs <= t; cs++){
     int n;
     cin >> n;
     cout << "Phi("<<n<<") = "<<phi[n]<<endl;
    }


    /*double end_time = clock();
  printf( "Time = %lf ms\n", ( (end_time - start_time) / CLOCKS_PER_SEC)*1000);
    */
    return 0;
}

Type 02:

( যখন  একটা সংখ্যার জন্য বের করতে হবে।)


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 #include<bits/stdc++.h>
using namespace std;
#define MAX 2000100

typedef long long ll;

ll po(ll x, ll y){
  ll ans = 1;
  while(y--) ans *= x;
  return ans;
}

ll prime(ll a)
{
  for(ll i = 1; i*i <= a; i++){
    if(a%i == 0)return 1;
  }
  return 0;
}

ll phi(ll n)
{
  ll i,mul = 1, holder, fre = 0;
  if(prime(n) == 0) mul = n - 1;
  else{
    for(i = 2; i*i <= n; i++){
      if(n%i == 0){
        while(n%i == 0){
          n = n/i;
          holder = i;
          fre++;
        }
        mul *= (po(holder, fre-1)*(holder - 1));
        fre = 0;
      }
    }
    if(n != 1){
      mul *= (n-1);
    }
  }
  return mul;
}

int main()
{
   // #ifndef ONLINE_JUDGE
    //freopen("in.txt", "r", stdin);
    //freopen("out.txt", "w", stdout);
 // #endif
    //double start_time = clock();

       ll n;
     cin >> n;
     cout << "Phi("<<n<<") = "<<phi(n)<<endl;


    //double end_time = clock();
  //printf( "Time = %lf ms\n", ( (end_time - start_time) / CLOCKS_PER_SEC)*1000);
  
    return 0;
}

  Problems: D. Same GCDs   Solution


Share:

1014 - Ifter Party

1014 - Ifter Party

Topic: Divisor

Code:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
set<int>V;

int main()
{

   //double start_time = clock();
    #ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
  #endif
    int t;
    cin >> t;
    for(int cs = 1; cs <= t; cs++){
      int p,l;
      cin >> p >> l;
      int ext = p - l;
      int sz = sqrt(ext);
     // cout << ext << " "<<sz<<endl;
      if(l < 1)V.insert(1);
      if(ext > l)V.insert(ext);
      for(int i = 2; i <= sz; i++){
        if(ext%i == 0){
          if(i*i == ext){
            if(i > l)V.insert(i);
          }
          else{
            if(i > l)V.insert(i);
            if(ext/i > l)V.insert(ext/i);
          }
        }
      }
      cout << "Case "<<cs<<":";
      int tt = V.size();
      if(tt == 0)cout << " impossible\n";
      else{
        for(auto it = V.begin(); it != V.end(); it++)cout << " "<<*it;
          cout << endl;
      }
      V.clear();
    }

    return 0;
}
Share:

11417 - GCD

11417 - GCD 


 Topic: GCD


Code:

#include<bits/stdc++.h>
using namespace std;

typedef long long ll;

int main()
{

   //double start_time = clock();
    #ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
  #endif
    int n;
    while(cin >> n && n){
      int ans = 0;
    for(int i = 1; i < n; i++){
      for(int j = i+1; j <= n; j++){
        ans += __gcd(i,j);
      }
    }
    cout << ans << endl;
  }

    return 0;
}

Share:

Algorithm part - 07

28. min 

29. max

30. minmax

31. min_element

32. max_element

33. minmax_element 

CODE LINK

 

34. generate

35. generate_n




 


Share:

Algorithm part - 06

23. count

24. count_if

Complexity O(N)





CODE LINK

25. partition

26. stable_partition

27. remove_if

 All algorithm complexity is O(N)







CODE LINK

Share:

Algorithm part - 05

21.adjacent_find

22. adjacent_count

Complexity O(N)






CODE LINK

Share:

About

let's start CODE

Popular Posts