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;
}
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;
}
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
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; } |
11417 - GCD
11417 - GCD