Showing posts with label Uri. Show all posts
Showing posts with label Uri. Show all posts

Sunday, September 15, 2019

Uri 2787 - Chess

#include< iostream >

using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    cout << (((n + (m-1))%2 == 0)? 0 : 1 ) << endl;
    return 0;
}

Uri 1495 - Football

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

vector< int > v;

bool compare(int a, int b) { return (a > b); }

int main(int argc, char const *argv[])
{
int n, g, s, r, c, i, sz;
bool b;

while(scanf("%d %d", &n, &g) == 2)
{
c = 0;
v.clear();

for (i = 0; i < n; ++i)
{
scanf("%d %d", &s, &r);
if(s > r) c += 3;
else v.push_back(s - r);
}

sort(v.begin(), v.end(), compare);
sz = v.size();
b = false;

for (i = 0; i < sz; ++i)
{
if(b){
if(v[i] == 0) c++;
else break;
}else{
if(g <= 0) b = true;

if((1 - v[i]) <= g){
g -= (1 - v[i]);
c += 3;
}else if((0 - v[i]) == g){
c++;
g -= (0-v[i]);
}else{
b = true;
}
}
}

printf("%d\n", c);
}

return 0;
}

1069 - Diamonds and Sand

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

int main()
{
    int n;
    string s;
    cin  >>  n;

    while(n--) {
        stack< char >st;
        int ans = 0;
        cin  >>  s;
        for(auto ch: s) {
            if(ch == '<') st.push(ch);
            else if( !st.empty() and ch == '>' ) {
                ans++;
                st.pop();
            }
        }
        cout << ans << endl;
    }

    return 0;
}

AtCoder Beginner Contest 136(A - Transfer)

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. int a, b, c;
  6. cin >> a >> b >> c;
  7. cout << ((a-b > c)? 0 : c-(a-b)) << endl;
  8. return 0;
  9. }

AtCoder Beginner Contest 136(B - Uneven Numbers)

  1. #include< bits/stdc++.h >
  2. using namespace std;
  3. int main(){
  4. int n, ans = 0;
  5. cin >> n;
  6. for(int i = 1; i <= n; i++) {
  7. string s;
  8. stringstream ss;
  9. ss << i;
  10. ss >> s;
  11. if(s.size()%2) ans++;
  12. }
  13. cout << ans << endl;
  14. return 0;
  15. }

AtCoder Beginner Contest 136(C - Build Stairs)

  1. #include< bits/stdc++.h >
  2. using namespace std;
  3. int main()
  4. {
  5. int n, m;
  6. int vc[100001];
  7. cin >> n;
  8. for(int i = 0; i < n; i++){
  9. cin >> vc[i];
  10. }
  11. for(int i = n - 1; i > 0; i--) {
  12. if(vc[i] < vc[i-1]) vc[i - 1] -= 1;
  13. }
  14. for(int i = 1; i < n; i++) {
  15. if(vc[i-1] > vc[i]) return cout << "No" << endl, 0;
  16. }
  17. cout << "Yes" << endl;
  18. return 0;
  19. }

Saturday, September 14, 2019

583 Digit Generator in cpp solution

#include< bits/stdc++.h > using namespace std;
int main()
{
ios::sync_with_stdio(false);cin.tie(0);
int n, k;
cin >> n;
while(n--) {
cin >> k;
int ans = 0, res = 0;
int range = (k < 10) ? 9 : (k < 100)? 18: (k < 1000)? 27: (k < 10000)? 45 : 60;
for(int i = k - range; i <= k; i++) {
int num = i, sum = i;
while( num != 0) {
sum += num%10;
num /= 10;
}
if(sum == k) {
ans = 1;
res = i;
break;
}
}
cout << ((ans)? res : 0 ) << endl;
}
return 0;
}

Implement queue using two stack in cpp

#include< iostream > #include< stack >
using namespace std;
stack<int> s1, s2;
void enqueue(int data)
{
while(!s1.empty()) {
s2.push(s1.top());
s1.pop();
}
s1.push(data);
while(!s2.empty()) {
s1.push(s2.top());
s2.pop();
}
}
void dequeue()
{
if(!s1.empty()) {
s1.pop();
}
}
int front()
{
return s1.top();
}
bool isEmpty()
{
return s1.size() == 0;
}
int size()
{
return s1.size();
}
void printData()
{
while(!s1.empty()) {
cout << s1.top() << " ";
s1.pop();
}
cout << endl;
}
int main()
{
int n, m, k;
cin >> n;
for(int i = 0; i < n; i++) {
cin >> k;
enqueue(k);
}
cout << "Queue is empty : " << (isEmpty()?"True":"False") << endl;
cout << "Queue front element : " << front() << endl;
dequeue();
cout << "Queue size : " << size() << endl;
enqueue(12);
enqueue(6);
cout << "Queue new size : " << size() << endl;
cout << "Queue new element are : ";
printData();
cout << "Queue is empty : " << (isEmpty()?"True":"False") << endl;
return 0;
}