Thursday, June 30, 2016

UVA 195 - Anagram

#include<bits/stdc++.h>
using namespace std;
bool compare(char a , char b)
{
    if(tolower(a)==tolower(b)) return a < b;
    return tolower(a) < tolower(b);
}
int main()
{
    int t;
    cin>>t;
    while(t--){
        string s;
        cin>>s;
        sort(s.begin(),s.end(),compare);
        cout<<s<<'\n';
        while(next_permutation(s.begin(),s.end(),compare))cout<<s<<'\n';
    }

    return 0;
}

Tuesday, June 28, 2016

UVA 11661 - Burger Time?

#include<bits/stdc++.h>
using namespace std;
int main()
{
    ios_base::sync_with_stdio(0);
    int t;
    while(cin>>t && t!=0){
        cin.ignore();
        string s;
        int mid=t,startD=-t, startR=-t;
        cin>>s;
        for(int i=0; i<t; i++){
            if(s[i]=='Z'){
                mid=0;
                break;
            }
            if(s[i]=='D'){
                startD=i;
                mid = min(mid,i- startR);
            }
            if(s[i]=='R'){
                 startR=i;
                mid = min(mid,i- startD);
            }
        }
        cout<<mid<<'\n';
    }


    return 0;
}

UVA 10062 - Tell me the frequencies!

#include<bits/stdc++.h>
using namespace std;
struct freq{
    int asci=0, fr=0;
};
bool comp(freq a , freq b)
{
    if(a.fr==b.fr) return a.asci > b.asci;
    return a.fr < b.fr;
}
int main()
{
    ios_base::sync_with_stdio(0);
    string s;
    int flag=0;
    while(getline(cin,s)){
        flag++;
        int a[256],j=0;
        freq cnt[256];
        memset(a,0,sizeof(a));
        for(int i=0; i<s.size(); i++){
            int x = s[i];
            a[x]++;
        }
        for(int i=0; i<256; i++){
            if(a[i]!=0){
                cnt[j].asci=i;
                cnt[j].fr=a[i];
                j++;
            }
        }
        if(flag!=1) cout<<'\n';
        sort(cnt , cnt+j,comp);
        for(int i=0; i<j; i++){
            cout<<cnt[i].asci<<' '<<cnt[i].fr;
                cout<<'\n';
        }
    }

    return 0;
}

Friday, June 24, 2016

UVA 12157 - Tariff Plan

#include<bits/stdc++.h>
using namespace std;
int mile(int dur)
{
    int sum=0;
    while(dur>=0){
        sum+=10;
        dur-=30;
    }
    return sum;
}
int juice(int dur)
{
    int sum=0;
    while(dur>=0){
        sum+=15;
        dur-=60;
    }
    return sum;
}
int main()
{
    ios_base::sync_with_stdio(0);
    int T,kase=0;
    cin>>T;
    while(T--){
        int t,dur,m=0,j=0;
        cin>>t;
        while(t--){
            cin>>dur;
            m+=mile(dur);
            j+=juice(dur);
        }
        if(m>j)cout<<"Case "<<++kase<<": Juice "<<j<<'\n';
        else if(j>m)cout<<"Case "<<++kase<<": Mile "<<m<<'\n';
        else cout<<"Case "<<++kase<<": Mile Juice "<<m<<'\n';
    }

    return 0;
}

UVA 11364 - Parking

#include<bits/stdc++.h>
using namespace std;
int main()
{
    ios_base::sync_with_stdio(0);
    int T;
    cin>>T;
    while(T--){
        int t , x,mx=0,mn=99;
        cin>>t;
        while(t--){
            cin>>x;
            if(x>mx)mx=x;
            if(x<mn)mn=x;
        }
        cout<<(mx-mn)*2<<'\n';
    }
    return 0;
}

Wednesday, June 22, 2016

UVA 12503 - Robot Instructions

#include<bits/stdc++.h>
using namespace std;
int main()
{
   int T;
   cin>>T;
   while(T--){
    int t;
    cin>>t;
    cin.ignore();
    vector<int>v;
    string s;
    int pos=0,line=0;
    while(t--){
        cin>>s;
        if(s=="LEFT"){
            pos--;
            v.push_back(-1);
        }
        else if(s=="RIGHT"){
            pos++;
            v.push_back(1);
        }
        else{
            string t ;
            int ins;
            cin>>t>>ins;
            pos+=v[ins-1];
            v.push_back(v[ins-1]);
        }
    }
     cout<<pos<<'\n';
   }
    return 0;
}

Tuesday, June 21, 2016

UVA 10324 - Zeros and Ones

#include <bits/stdc++.h>
#define dbug(x) cout << '>' << #x << ':' << x << endl
#define dbg(x) cout << '>' << #x << ':' << x << " "

#define pline    cout << "_________________________" << endl
#define mem(x, v) memset(x, v, sizeof(x))


#define eef else if
#define sf scanf
#define pf printf
#define i64 long long
#define ll  long long
#define ui64 unsigned long long

#define pcount(num)  __builtin_popcount(num)
#define all(x) x.begin(), x.end()
#define lla(x) x.rbegin(), x.rend()
#define SORT(c) sort(all(c))
#define ssort(v) stable_sort(v.begin(), v.end())
#define sz(v) (int)(v).size()
#define _lst(X) (X)[sz((X))-1]

#define IT iterator
#define pb push_back
#define ppb pop_back
#define mp make_pair
#define fi first
#define se second
#define CTN(T, x) (T.find(x) != T.end())

#define max3(a,b,c) max(a,max(b,c))
#define min3(a,b,c) min(a,min(b,c))
#define max4(a,b,c,d) max(max(a,max(b,c)),d)
#define maximum(v)  *max_element(all(v))
#define minimum(v)  *min_element(all(v))
#define Reverse(x)  reverse(x.begin(),x.end())

#define loop(i,s,e) for(__typeof(s) i=(s);i<=(e);i++)
#define pool(i,e,s) for(__typeof(e) i=(e);i>=(s);i--)

#define FORIT(i, m) for (__typeof((m).begin()) i=(m).begin(); i!=(m).end(); ++i)

#define ps(x) cout<<"Case "<<++x<<": "
#define pcs(x) pf("Case %d: ", ++x)
#define newl '\n'
#define Newl "\n"
#define nl puts ("")
#define sqr(a) ((a)*(a))
#define MAX 1e12
#define intmax 2147483647
#define FAST ios_base::sync_with_stdio(0)
using namespace std;

int main(){
    FAST;
    string s="";
    int kase=0;
    while(getline(cin,s,'\n')){
        if(s[0]=='\0') break;
        int t , mn,mx;
        cin>>t;
        cout<<"Case "<<++kase<<":\n";
        while(t--){
            cin>>mn>>mx;
            if(mn>mx)swap(mn,mx);
            char comp = s[mn];
            bool flag=false;
            for(int i=mn+1; i<=mx; i++){
                if(s[i]!=comp){
                    flag=true;
                    break;
                }
            }
            if(flag)cout<<"No\n";
            else cout<<"Yes\n";
        }
        cin.ignore();
    }
    return 0;
}

UVA 1185 - Big Number

#include<bits/stdc++.h>
using namespace std;
double digit(int x)
{
    double sum=0;
    for(int i=1; i<=x; i++)
        sum+=log10(i);
    return sum;
}
int main()
{
    int x , t;
    cin>>t;
    while(t--){
        cin>>x;
        cout<<(int)(digit(x))+1<<'\n';
    }
    return 0;
}

Saturday, June 11, 2016

UVA 10696 - f91

#include<bits/stdc++.h>
using namespace std;
int main()
{
    ios_base::sync_with_stdio(0);
    long long num;
    while(cin>>num){
        if(num==0)break;
        if(num>=101) cout<<"f91("<<num<<") = "<<num-10<<"\n";
        else cout<<"f91("<<num<<") = "<<91<<"\n";
    }
    return 0;
}

UVA 591 - Box of Bricks

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t,kase=0;
    while(cin>>t){

        if(t==0){  break;}
        int a[t],sum=0,cnt=0;
        for(int i=0; i<t; i++){
            cin>>a[i];
            sum+=a[i];
        }
        for(int i=0; i<t; i++){
            if(a[i]>(sum/t))cnt+=a[i]-(sum/t);
        }
        cout<<"Set #"<<++kase<<"\nThe minimum number of moves is "<<cnt<<".\n\n";
    }

    return 0;
}

Friday, June 10, 2016

UVA 11936 - The Lazy Lumberjacks

#include<bits/stdc++.h>
using namespace std;
int main()
{
    ios_base::sync_with_stdio(false);
   int a , b , c, t;
   cin>>t;
   while(t--){
        cin>>a>>b>>c;
        if((a+b>c) &&(b+c>a) &&(a+c>b)) cout<<"OK\n";
        else cout<<"Wrong!!\n";
   }
    return 0;
}

Thursday, June 9, 2016

UVA 10323 - Factorial! You Must be Kidding!!!

#include<bits/stdc++.h>
#define newl cout<<"\n"
long long dp[100000000];
long long fact(int n)
{
    if(n==0)return 1;
    if(n==1)return 1;
    if(dp[n]!=0)return dp[n];
    else{
        dp[n]=n*fact(n-1);
        return dp[n];
    }
}
using namespace std;
int main()
{
    int n;
    memset(dp,0,sizeof(dp));
    while(cin>>n){
       // cout<<fact(n)<<" ";
        if(n>=14 || (n<0 && n%2!=0))cout<<"Overflow!";
        else if(n>=0 && n<=7 ||(n<0 && n%2==0))cout<<"Underflow!";
        else cout<<fact(n);
        newl;
    }
    return 0;
}