Friday, June 1, 2018

UVA - 12895 .cpp file


#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
#define li long int

using namespace std;

li digits[10];

int main()
{
    li i,n_case,input,hold,j,total;

    cin>>n_case;
    while(n_case--)
    {
        cin>>input;
        hold = input;
        i = 0;
        while(hold)
        {
            digits[i] = hold % 10;
            hold = hold / 10;
            i++;
        }
        for(total =0, j =0; j<i; j++)
        {
            total = total + (li) pow(digits[j],i);
        }
        if(total == input)
        {
            cout<<"Armstrong\n";
        }
        else
        {
            cout<<"Not Armstrong\n";
        }
    }
}

UVA - 12894 .cpp file

#include<stdio.h>

int main()
{
    register unsigned n;
    scanf("%u", &n);

    while (n--)
    {
        int x0, y0, x1, y1, cx, cy, r;
        scanf("%u%u%u%u%u%u%u", &x0, &y0, &x1, &y1, &cx, &cy, &r);

        unsigned len = x1 - x0;
        unsigned wid = y1 - y0;

        if (( 5 * wid == 3 * len ) && ( len == 5 * r ) && 20 * ( cx - x0 ) == 9 * len && 2 * ( cy - y0 ) == wid)
            printf("YES\n");
        else
            printf("NO\n");

    }
    return 0;
}

UVA -12893 .cpp file

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

int main()
{

    long long t,n;
    cin>>t;
    while (t--)
    {
        cin>>n;
        printf("%d\n", (int)__builtin_popcountll(n));
    }
    return 0;
}

UVA - 12854 .cpp file

#include<stdio.h>
int main()
{
    register unsigned int a,b,c,d,e,f,g,h,i,j;
    while (scanf("%u%u%u%u%u%u%u%u%u%u", &a, &b, &c, &d, &e, &f, &g, &h, &i, &j) == 10)
    {
        (a ^ f && b ^ g && c ^ h && d ^ i && e ^ j) ? printf("Y\n"): printf("N\n");
    }
    return 0;
}

UVA - 12853 .cpp file

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int t, c = 0;
    const double pi = acos(-1);
    double D, N, A;
    scanf("%d", &t);
    while (t--)
    {
        scanf("%lf %lf", &D, &N);
        A = D / (N - 1);
        double ret = 2 * pi * (A + D);
        printf("Case %d: %.3lf\n", ++c, ret);
    }
    return 0;
}

UVA - 12834 .cpp file

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll A[131072];
int main()
{
    int t, c  = 0;
    int n, m;
    ll x;
    cin>>t;
    while (t --)
    {
        cin>>n>>m;
        for (int i = 0; i < n; i++)
        {
            cin>>A[i];
            A[i] = -A[i];
        }
        for (int i = 0; i < n; i++)
        {
            cin>>x;
            A[i] += x;
        }
        sort(A, A+n, greater<long long>());
        ll p = 0;
        for (int i = 0, j = n - 1; i < m; i++, j--)
            if (A[j] < 0) n--;
        for (int i = 0; i < n; i++)
            p += A[i];
        printf("Case %d: ", ++c);
        if (p <= 0) cout<<"No Profit"<<endl;
        else cout<<p<<endl;
    }
    return 0;
}

UVA - 12820 .cpp file

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

        string s;

        int b[1000];
        int cnt=0;
        while(t--)
        {
            int c=0;
            cin>>s;
            int l=s.size();
            set<int>a;
            memset(b,0,sizeof(b));
            for(int i=0; i<l; i++)
                b[s[i]-96] ++;
            // cout<<b[s[i]-96]<<endl;

            for(int j=0; j<140; j++)
            {
                if(b[j])
                {
                    a.insert(b[j]);
                    c++;
                    //  cout<<c<<endl;
                }
            }
            if(a.size()==c and a.size()!=1)
                ++cnt;
            // cout<<cnt<<endl;

        }
        cout<<"Case "<<++i<<": "<<cnt<<endl;

    }

    return 0;
}

UVA - 12802 .cpp file

#include <cstdio>
#include <bits/stdc++.h>
using namespace std;
#define MAX 1000001
bool status[MAX];

int prime(long long int n)
{
    int i;
    if(n<2)return 0;
    if(n==2) return 1;
    if(n%2==0) return 0;
    if(n==3) return 1;
    if(n%3==0) return 0;
    else
    {
        for(i=5; i<=sqrt(n); i++)
            if(n%i==0)return 0;
        return 1;
    }
}
int rev (long long int n)
{
    int revv = 0;
    while(n!=0)
    {
        revv = revv * 10;
        revv = revv + n%10;
        n = n/10;
    }
    return revv;
}

int main()
{
    int  m,i,j,k,l;
    long long int n;
    //char s[9];
    while(1)
    {
        scanf("%lld",&n);
        printf("%lld\n",2*n);

        if(rev(n)==n)
        {
            if(prime(rev(n)))
                break;
        }
    }
}

UVA - 12798 .cpp file

#include<bits/stdc++.h>
using namespace std;
int G[107];
int main()
{
    // FI ;
    int N, M ;
    while( cin>>N>>M )
    {
        memset(G,0,sizeof(G));
        for( int j=0 ; j<N; j++ )
        {
            for( int i=0 ; i<M; i++ )
            {
                int x ;
                cin>>x;
                if( x ) ++G[j];
            }
        }
        int Ans = 0 ;
        for( int i=0 ; i<N; i++ ) Ans += ( G[i] == M );
        cout<<Ans<<endl;
    }
}

UVA - 12751 .cpp file

#include<bits/stdc++.h>
using namespace std;
int f(int n)
{
    return (n)*(n+1)/2;
}
int main()
{
    int t;
    cin>>t;
    int N, K, X;
    int c = 0;
    while(cin>>N>>K>>X)
        printf("Case %d: %d\n", ++c, f(N)-f(X+K-1)+f(X-1));
    return 0;
}

UVA - 12725 .cpp file

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int i,t,A,B;
    double N,M,ans;
    cin>>t;
    for(i=1; i<=t; i++)
    {
        cin>>N>>M>>A>>B;
        ans=((M*(A+B))-(N*A))/B;
        if(ans>=0 && ans<=10)
            printf("Case #%d: %.2lf\n",i,ans);
        else printf("Case #%d: Impossible\n",i);

    }
    return 0;
}

UVA - 12718 .cpp file

#include <bits/stdc++.h>
using namespace std;
string s ;
int C[30];
int main()
{
    //freopen("in.txt","r",stdin);
    int test ;
    cin>>test;
    for( int cs = 1 ; cs <= test ; cs++)
    {
        cin>>s;
        int len = s.size() ;
        int Ans = 0 ;
        for( int i = 0 ; i < len ; i++ )
        {
            memset(C,0,sizeof C);
            int odd = 0 ;
            for (int j = i  ; j < len ; j++ )
            {
                C [ s[j]-'a' ]++;
                if( C[ s[j]-'a' ] & 1 )odd++;
                else odd--;
                int range = j - i + 1;
                if( (range & 1) && odd == 1  ) Ans ++;
                if( !(range & 1) && odd == 0 ) Ans ++;
            }
        }
        printf("Case %d: %d\n",cs,Ans);
    }
}

UVA - 12709 .cpp file

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    while(cin>>n&&n)
    {
        int max=-9999;
        int sum1 = 0, sum = 0;
        for(int i=1; i<=n; i++)
        {
            int l,w,h;
            cin>>l>>w>>h;
            if(h>=max)
            {
                sum = l * w * h;
                if(max == h)
                {
                    if(sum>sum1)
                    {
                        sum1 = sum;
                    }
                }
                if(h>max)
                {
                    max = h;
                    sum1 = sum;
                }
            }
        }
        cout<<sum1<<endl;
    }
    return 0;
}

UVA - 12708 .cpp file

#include<bits/stdc++.h>
using namespace std;
int main()
{
    unsigned long long n,m;
    scanf("%llu", &n);
    while(n--)
    {
        scanf("%llu", &m);
        printf("%llu\n", m>>1);
    }
    return 0;

}

UVA - 12704 .cpp file

#include<stdio.h>
#include<math.h>
int main()
{
    long a,b,c,n;
    double d;
    scanf("%ld",&n);
    while(n--)
    {
        scanf("%ld%ld%ld",&a,&b,&c);
        d=sqrt(a*a+b*b);
        printf("%.2lf %.2lf\n",c-d,c+d);

    }
    return 0;
}

UVA - 12700 .cpp file

#include <stdio.h>

int main()
{
    int n=0,c=1;
    scanf("%d",&n);
    while(n--)
    {
        int m=0,i=0;
        scanf("%d",&m);
        char s[11];
        scanf("%s",s);
        int A=0,B=0,T=0,W=0;
        for(i=0; i<m; i++)
        {
            if(s[i]=='A')
                A++;
            else if(s[i]=='B')
                B++;
            else if(s[i]=='T')
                T++;
            else if(s[i]=='W')
                W++;
        }
        if((B+A==m)&& B!=0)
            printf("Case %d: BANGLAWASH\n",c);
        else if((W+A==m) && W!=0)
            printf("Case %d: WHITEWASH\n",c);
        else if(A==m)
            printf("Case %d: ABANDONED\n",c);
        else if(B>W)
            printf("Case %d: BANGLADESH %d - %d\n",c,B,W);
        else if(B<W)
            printf("Case %d: WWW %d - %d\n",c,W,B);
        else if(B==W)
            printf("Case %d: DRAW %d %d\n",c,B,T);
        c++;
    }
    return 0;
}

UVA - 12696 .cpp file

#include <stdio.h>
int main()
{
    double l,w,d,o,a,b,c;
    int n,m,i,j,k;
    scanf("%d",&n);
    k=0;
    while(n--)
    {
        scanf("%lf %lf %lf %lf",&l,&w,&d,&o);
        if(((l<=56&&w<=45&&d<=25)||(l+w+d<=125))&&o<=7)
        {
            printf("1\n");
            k++;
        }
        else printf("0\n");
    }
    printf("%d\n",k);
    return 0;
}

UVA - 12662 .cpp file

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    while(cin>>n)
    {
        // getchar();
        string a[106];
        string c;
        int k=0;
        for(int i=1; i<=n; i++)
        {
            cin>>a[i];
            // cout<<a[i];
        }
        // cout<<" ======= "<<a<<endl;
        int m;
        cin>>m;
        while(m--)
        {
            int x;
            cin>>x;
            if(a[x]!="?")
                cout<<a[x]<<endl;
            else
            {
                int l=0,p=0,r=0;
                p=x-1;
                while(p>0 and a[p]=="?")
                    p--,l++;
                if(p<=0) l=0x3f3f3f;
                p=x+1;
                while(p<=n and a[p]=="?")
                    p++,r++;
                if(p>n) r=0x3f3f3f;
                l++,r++;
                if(l==r)
                    cout<<"middle of "<<a[x-l]<<" and "<<a[x+r]<<endl;
                else if(l<r)
                {
                    for(int j=0; j<l; j++)
                        printf("right of ");
                    cout<<a[x-l]<<endl;
                }
                else
                {
                    for(int j=0; j<r; j++)
                        printf("left of ");
                    cout<<a[x+r]<<endl;
                }
            }
        }
    }

    return 0;
}

UVA - 12658 .cpp file

#include<bits/stdc++.h>
using namespace std;
string s[1000];
int main()
{
    int n ;
    while(cin>>n )
    {
        for(int i=0; i<5; i++) cin >> s[i];
        for(int i = 0; i<4*n; i+=4)
        {
            if(s[0][i]=='.') cout << 1;
            else if(s[3][i] == '*') cout << 2;
            else cout << 3;
        }
        puts("");


    }
    return 0;

}

UVA - 12650 .cpp file

#include<stdio.h>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
    long a,b,e,f,g,r[100000];
    int i,j,k;
    while(scanf("%ld%ld",&a,&b)==2)
    {
        memset(r,0,sizeof(r));
        for(j=1; j<=b; j++)
            scanf("%ld",&r[j]);
        sort(r,r+b+1);
        if(a==b)
            printf("*");
        else
        {
            j=1;
            while(j<=b)
                for(i=1; i<=a; i++)
                {
                    if(i!=r[j])
                        printf("%ld ",i);
                    else
                        j++;

                }

        }
        printf("\n");
    }
    return 0;
}

UVA - 12646 .cpp file

#include<stdio.h>
int main()
{
    long int a,b,c;
    while(scanf("%ld%ld%ld",&a,&b,&c)==3)
    {
        if(a<0&&a>1&&b<0&&b>1&&c<0&&a>1)
            break;
        else
        {
            if(a==b&&b==c)
                printf("*\n");
            else if(a==0&&b==1&&c==1)
                printf("A\n");
            else if(a==1&&b==0&&c==0)
                printf("A\n");
            else if(a==0&&b==1&&c==0)
                printf("B\n");
            else if(a==1&&b==0&&c==1)
                printf("B\n");
            else if(a==0&&b==0&&c==1)
                printf("C\n");
            else if(a==1&&b==1&&c==0)
                printf("C\n");
        }
    }
    return 0;
}

UVA - 12640 .cpp file

#include<bits/stdc++.h>
using namespace std;
int k(vector<int>a)
{
    int mxs=0,sfs=0;
    for(int i=0; i<a.size(); i++)
    {
        if(sfs+a[i]>mxs)
        {
            sfs+=a[i];
            mxs=sfs;
        }
        else if(sfs+a[i]>0)
            sfs+=a[i];
        else
        {
            sfs=0;
        }
    }
    return mxs;
}

int main()
{
    string line;
    while (getline(cin, line))
    {
        istringstream is(line);
        vector<int>v;
        int temp;
        while (is >> temp)
        {
            v.push_back(temp);
        }
        printf("%d\n", k(v));
    }
    return 0;
}

UVA - 12614 .cpp file

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    ll t,n,a,m=1;
    cin>>t;
    while(t--)
    {
        cin>>n;
        ll b=0;
        for(int i=0; i<n; i++)
        {
            cin>>a;
            b=max(a,b);
        }
        cout<<"Case "<<m++<<": "<<b<<endl;

    }
    return 0;
}

UVA - 12611 .cpp file

#include <stdio.h>

int main()
{
    int c,i=1;
    double r;
    scanf("%d",&c);
    while(c--)
    {
        scanf("%lf",&r);

        printf("Case %d:\n",i);

        printf("%.0lf %.0lf\n",-(double)(2.25*r),(double)(1.5*r));
        printf("%.0lf %.0lf\n",(double)(2.75*r),(double)(1.5*r));
        printf("%.0lf %.0lf\n",(double)(2.75*r),-(double)(1.5*r));
        printf("%.0lf %.0lf\n", -(double)(2.25*r),-(double)(1.5*r));
        i++;
    }
    return 0;
}

UVA - 12602 .cpp file

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,l,d;
    char s[100];
    cin>>n;
    getchar();
    while(n--)
    {
        gets(s);
        l=(s[0]-65)*26*26+(s[1]-65)*26+(s[2]-65)*1;
        d=(s[4]-48)*1000+(s[5]-48)*100+(s[6]-48)*10+(s[7]-48);
        if(abs(l-d)<=100)
            cout<<"nice\n";
        else
            cout<<"not nice\n";
    }
    return 0;
}

UVA - 12592 .cpp file

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

int main()
{
    string s[200],p[100],r;
    int n,k,q;
    while(cin>>n)
    {
        getchar();
        for(int i=0; i<n; i++)
        {
            getline(cin,s[i]);
            getline(cin,p[i]);
        }
        cin>>q;
        getchar();
        while(q--)
        {
            getline(cin,r);
            for(int i=0; i<n; i++)
            {
                if(s[i]==r)
                {
                    cout<<p[i]<<endl;
                    break;
                }
            }
        }
    }
    return 0;
}

UVA - 12583 .cpp file

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t,d,m,count;
    char nm[502];
    cin>>t;
    for(int i=1; i<=t; i++)
    {
        count=0;
        int flag[502]= {0};
        scanf("%d %d %s",&d,&m,&nm);
        for(int j=0; j<d; j++)
        {
            for(int l=j+1; l<j+1+m && l<d; l++)
            {
                if(nm[j]==nm[l] && flag[l]==0)
                {
                    count++;
                    flag[l]=1;
                }
            }
        }
        printf("Case %d: %d\n",i,count);
    }
    return 0;
}

UVA - 12578 .cpp file

#include<bits/stdc++.h>
#include<math.h>
using namespace std;
int main()
{
    int t;
    double b,c,r,h,g,n;
    scanf("%d",&t);
    while(t--)
    {
        r=0;
        scanf("%lf",&n);
        r=n/5;
        h=(n*6)/10;
        r=acos(-1)*r*r;
        g=(n*h)-r;
        printf("%.2lf %.2lf\n",r,g);
    }
    return 0;
}

UVA - 12555 .cpp file

#include<bits/stdc++.h>
using namespace std;
int  main()
{
    int a,t,i=1;
    string s;
    cin>>t;
    while(t--)
    {
        cin>>a;
        getchar();
        getline(cin,s);
        // cout<<s<<endl;
        int b=(s.size()>3)?(int)(s[2]-'0'):0;
        //   cout<<s[2]<<endl;
        cout<<"Case "<<i++<<": "<<(a*.5+b*.05)<<endl;
    }

    return 0;
}

UVA - 12554 .cpp file

#include<bits/stdc++.h>
using namespace std;
int main()
{

    string a[]= {"Happy", "birthday", "to", "you","Happy","birthday", "to", "you", "Happy", "birthday", "to", "Rujia", "Happy", "birthday", "to", "you"};
    int n;
    while(cin>>n)
    {
        string b[n];
        for(int i=0; i<n; i++)
        {
            cin>>b[i];
            // cout<<b[i]<<endl;
        }
        // cout<<b[0]<<endl;
        int x=n/16+1;
        int k=0;
        for(int i = 0 ; i <x ; i++ )
        {

            for(int j = 0 ; j < 16 ; j++)
            {
                cout<<b[ (k%n)  ]<<": "<<a[j]<<endl;
                k++;
            }


        }
    }
}

UVA - 12543 .cpp file

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s,r;
    int m=0,c,j;
    while(cin>>s)
    {
        c=0;
        if(s=="E-N-D") break;
        for(int i=0; i<s.size(); i++)
        {
            j=0;
            if(isalpha(s[i])||s[i]=='-')
            {
                c++;
            }
        }
        if(c>m)
        {
            r=s;
            m=c;
        }
    }
    for(int i=0; i<r.size(); i++)
        if(isalpha(r[i]) || r[i]=='-')
        {
            if(r[i]>='A' && r[i]<='Z')  r[i]=r[i]-'A'+'a';
            cout<<r[i];
        }
    cout<<endl;




    return 0;
}

UVA - 12541 .cpp file

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,j=0,d,y,m,a;
    string name;
    map<int,string>mp;
    priority_queue< int >pq1;
    priority_queue< int >pq2;
    scanf("%d",&n);
    while(n--)
    {
        cin>>name;
        scanf("%d %d %d",&d,&m,&y);
        a=d+m*31+y*12*31;
        mp[a]=name;
        pq1.push(a);
        pq2.push(-a);
    }
    cout<<""<<mp[pq1.top()]<<endl;
    cout<<""<<mp[-pq2.top()]<<endl;
    return 0;
}