Showing posts with label Ural. Show all posts
Showing posts with label Ural. Show all posts

Sunday, 5 April 2015

URAL 1167 Bicolored Horses

///     Raihan Ruhin
///     CSE, Jahangirnagar University.
///     Dhaka-Bangladesh.
///     id: raihanruhin (topcoder / codeforces / codechef / hackerrank / uva / uvalive / spoj), 3235 (lightoj)
///     mail: raihanruhin@ (yahoo / gmail / facebook)
///     blog: ruhinraihan.blogspot.com

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

#define SET(a) memset(a,-1,sizeof(a))
#define CLR(a) memset(a,0,sizeof(a))
#define PI acos(-1.0)

#define MOD 1000000007
#define MX 100010

int dp[505][505], arr[505];

int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);
    int tc,kk=1, n, k;
    cin>>n>>k;

    for(int i=0;i<n;i++) cin>>arr[i];

    for(int i=0;i<=n;i++)
        for(int j=0;j<=k;j++)
            dp[i][j]=300000;

    //for(int i=1;i<=k;i++) dp[1][i]=0;
    //for(int i=1;i<=n;i++) dp[i][1]=(arr[i]*(i-arr[i]));
    dp[0][0]=0;

    for(int i=1;i<=n;i++)
        for(int j=1;j<=k;j++)
        {
            int w=0, b=0;
            for(int k=i-1;k>=0;k--)
            {
                if(arr[k]) w++;
                else b++;
                if(dp[k][j-1]+w*b < dp[i][j])
                {
                    dp[i][j] = dp[k][j-1]+w*b;
                }
            }
        }
    cout<<dp[n][k]<<"\n";
    return 0;
}

Saturday, 22 November 2014

UVA 11956 Brainfuck Solution ( URAL 1552 )

///     Raihan Ruhin
///     CSE, Jahangirnagar University.
///     Dhaka-Bangladesh.
///     id: raihanruhin (topcoder / codeforces / codechef / hackerrank), 3235 (lightoj)
///     mail: raihanruhin@ (yahoo / gmail / facebook)
///     blog: ruhinraihan.blogspot.com

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

#define SET(a) memset(a,-1,sizeof(a))
#define CLR(a) memset(a,0,sizeof(a))
#define PI acos(-1.0)

#define MOD 1000000007
#define MX 100010

int main()
{
    //ios_base::sync_with_stdio(0);cin.tie(0);
    int kk=1, tc, n, mem[105];
    string s;
    cin>>tc;
    while(tc--)
    {
        cin>>s;
        int sl=s.size();
        CLR(mem);
        int p=0;
        for(int i=0;i<sl;i++)
        {
            if(s[i]=='>') p=(p+1)%100;

            else if(s[i]=='<') p=(p-1+100)%100;

            else if(s[i]=='+') mem[p]=(mem[p]+1)%256;

            else if(s[i]=='-') mem[p]=(mem[p]-1+256)%256;

        }
        cout<<"Case "<<kk++<<":";
        for(int i=0;i<100;i++)
            //cout<<" "<<hex<<setfill('0')<<setw(2)<<uppercase<<mem[i];
            printf(" %02X", mem[i]);
        cout<<'\n';
    }

    return 0;
}

Monday, 13 August 2012

URAL 1014. Product of Digits Solution

#include<iostream>
using namespace std;
int main()
{
    long long i,q;
    string s;
    while(cin>>q)
    {
        if(q==0)
        {cout<<"10"<<endl;  continue;}
        if(q==1)
        {cout<<"1"<<endl;  continue;}

        s="";
        for(i=9;i>1;i--)
        {
            if(q>=i && q%i==0)
            {
                q/=i;
                s+=i+'0';
                i=10;
            }
        }
        if(q==1)
        {
            for(i=s.length()-1;i>=0;i--)
            cout<<s[i];
            cout<<endl;
        }
        else
        cout<<"-1"<<endl;
    }
}

URAL 1293. Eniya Solution

#include<iostream>
using namespace std;
int main()
{
    long long n,a,b;
    while(cin>>n>>a>>b)
        cout<<n*a*b*2<<endl;
}

URAL 1409. Two Gangsters Solution

#include<iostream>
using namespace std;
int main()
{
    int a,b,c;
    while(cin>>a>>b)
    {
        c=a+b-1;
        cout<<c-a<<" "<<c-b<<endl;
    }
}

URAL 1146. Maximum Sum Solution

#include<iostream>
#include<list>
#include<string>
#include<cstring>
#include<sstream>
#include<cctype>
#include<string.h>
#include<algorithm>
#include<cmath>
#include<stack>
#include<fstream>
#include<cstdlib>
#include<vector>
#include<map>
#include<utility>
#include<iomanip>
#include<queue>
using namespace std;
#define clr(a) memset(a,0,sizeof(a))
#define PB push_back
#define pi acos(-1.0)
#define eps 1e-9
long sum[120][120];

int main()
{
long n,a,b,c,d,arr[120][120];
long max,temp;
cin>>n;
        {
            max=-100000000;
            for(a=1;a<=n;a++)
                for(b=1;b<=n;b++)
                    cin>>arr[a][b];

            for(a=1;a<=n;a++)
                for(b=1;b<=n;b++)
                    for(c=1;c<=a;c++)
                        for(d=1;d<=b;d++)
                            sum[a][b]+=arr[c][d];

            for(a=1;a<=n;a++)
                for(b=1;b<=n;b++)
                    for(c=1;c<=a;c++)
                        for(d=1;d<=b;d++)
                            {
                                temp=sum[a][b]-sum[a][d-1]-sum[c-1][b]+sum[c-1][d-1];
                                //cout<<sum[a][b]<<" "<<sum[a][d]<<" "<<sum[c][b]<<" "<<sum[c][d]<<endl;
                                //cout<<temp<<endl;
                                if(temp>max)
                                max=temp;
                            }
            cout<<max<<endl;


                }

            //clr(sum);

return 0;
}

URAL 1079. Maximum Solution

#include<iostream>
#include<list>
#include<string>
#include<cstring>
#include<sstream>
#include<cctype>
#include<string.h>
#include<algorithm>
#include<cmath>
#include<stack>
#include<fstream>
#include<cstdlib>
#include<vector>
#include<map>
#include<utility>
#include<iomanip>
#include<queue>

using namespace std;

#define INF (1<<29)
#define SET(a) memset(a,-1,sizeof(a))
#define ALL(a) a.begin(),a.end()
#define CLR(a) memset(a,0,sizeof(a))
#define FILL(a,v) memset(a,v,sizeof(a))
#define PB push_back
#define FOR(i,n) for(int i = 0;i<n;i++)
#define PI acos(-1.0)
#define EPS 1e-9
#define MP(a,b) make_pair(a,b)
#define READ(f) freopen(f, "r", stdin)
#define WRITE(f) freopen(f, "w", stdout)
#define LL long long




int main()
{
    int tc,a[100000],mx,n,i;
    a[0]=0;
    a[1]=1;

    for(i=2;i<100000;i+=2)
    {
        a[i]=a[i/2];
        a[i+1]=a[i/2]+a[i/2+1];
    }
    //cin>>tc;
    while(cin>>n)
    {
        if(n==0) break;
        //cin>>n;
        mx=0;
        for(i=1;i<=n;i++)
            if(a[i]>mx)
                mx=a[i];
        cout<<mx<<endl;

    }
return 0;
}

URAL 1640. Circle of Winter Solution

#include<iostream>
#include<list>
#include<string>
#include<cstring>
#include<sstream>
#include<cctype>
#include<string.h>
#include<algorithm>
#include<cmath>
#include<stack>
#include<fstream>
#include<cstdlib>
#include<vector>
#include<map>
#include<set>
#include<utility>
#include<iomanip>
#include<queue>

using namespace std;

#define INF (1<<29)
#define SET(a) memset(a,-1,sizeof(a))
#define ALL(a) a.begin(),a.end()
#define CLR(a) memset(a,0,sizeof(a))
#define FILL(a,v) memset(a,v,sizeof(a))
#define PB push_back
#define FOR(i,n) for(int i = 0;i<n;i++)
#define PI acos(-1.0)
#define EPS 1e-9
#define MP(a,b) make_pair(a,b)
#define min3(a,b,c) min(a,min(b,c))
#define max3(a,b,c) max(a,max(b,c))
#define READ freopen("input.txt", "r", stdin)
#define WRITE freopen("output.txt", "w", stdout)
#define LL long long
#define MX 100000
#define MOD 1000000007


int main()
{
    double x[110];
    double y[110];
    double xx, yy,mx;
    double cx=1100.0, cy=1100.0;
    int n;
    while(cin>>n)
    {
        mx=0.0;
        for(int i=0;i<n;i++)
        {
            cin>>xx>>yy;
            mx=max(mx, sqrt((cx-xx)*(cx-xx)+(cy-yy)*(cy-yy)));
        }
        cout<<cx<<" "<<cy<<" "<<setprecision(14)<<fixed<<mx<<endl;
    }
return 0;
}