Saturday, May 16, 2015

1136 - Division by 3 (Light OJ)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
#define pf printf
#define sf scanf
#define loop(i, n) for(i=0; i<(n); i++)
#define MAX  10005
typedef long long ll;

int main()
{
    ll a, b, res, ans, counter, cas = 0;
    int t_case;
    cin >> t_case;
    while(t_case--)
    {
        cin>> a>> b;
        counter = 0;
        if(((b - a) + 1) == 1)
        {
            res = a % 3;
            if(res == 0 || res == 2)
            counter = 1;
        }
        else if((a % 3 == 0 && b % 3 == 0) || (a % 3 == 2 && b % 3 == 2) || (a % 3 == 2 && b % 3 == 0))
        {
            res = b - a;
            ans = res / 3;
            counter = res - ans + 1;
        }
        else
        {
            res = b - a;
            ans = res / 3;
            counter = res - ans;
        }
        cout<< "Case "<< ++cas<< ": "<< counter << endl;
    }
    return 0;
}

1182 - Parity (Light OJ)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
#define pf printf
#define sf scanf
#define loop(i, n) for(i=0; i<(n); i++)
#define MAX  10005
typedef long long ll;

int main()
{
    ll num, rem, sum, test, i;
    cin >> test;
    for(i=1; i<=test ; i++)
    {
        cin>>num;
        sum=0;
        while(num>0)
        {
            rem = num%2;
            sum = sum + rem;
            num = num/2;
        }
        if(sum %2 == 0)
            cout << "Case " << i << ": even" << endl;
        else
            cout << "Case " << i << ": odd" << endl;
    }
    return 0;
}

1225 - Palindromic Numbers (II) (Light OJ)

  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int test, i, n, rem, temp;
  5.     scanf("%d", &test);
  6.  
  7.     for (i=1; i<=test; i++)
  8.     {
  9.         int reverse=0;
  10.         scanf("%d" , &n);
  11.         temp=n;
  12.  
  13.         while( temp!=0 )
  14.         {
  15.             rem=temp%10;
  16.             reverse=reverse*10+rem;
  17.             temp/=10;
  18.         }
  19.         if( reverse==)
  20.             printf ("Case %d: Yes\n", i);
  21.         else
  22.             printf ("Case %d: No\n", i);
  23.     }
  24.     return 0;
  25. }
  26.  

1015 - Brush (I) (Light OJ)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
#define pf printf
#define sf scanf
#define loop(i, n) for(i=0; i<(n); i++)
#define MAX 100

int main()
{
    int test, t;
    int n, st, sum;
    sf("%d", &test);
    for(t=1; t<=test; t++)
    {
        sf("%d", &n);
        sum=0;
        while(n--)
        {
            sf("%d", &st);
            if(st<=0)
                continue;
            sum+=st;
        }
        pf("Case %d: %d\n", t, sum);
    }
    return 0;
}

1069 - Lift (Light OJ)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
#define pf printf
#define sf scanf
#define loop(i, n) for(i=0; i<(n); i++)
#define MAX 100

int main()
{
    int test, t;
    int m, l, ans;
    sf("%d", &test);
    for(t=1; t<=test; t++)
    {
        sf("%d %d", &m, &l);
        if(m==l)
        {
            ans = (m*4)+19;
        }
        else
        {
            ans = (abs(l-m)*4)+(m*4)+19;
        }
        pf("Case %d: %d\n", t, ans);
    }
    return 0;
}

1053 - Higher Math (Light OJ)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
#define pf printf
#define sf scanf
#define loop(i, n) for(i=0; i<(n); i++)
#define MAX 100

int main()
{
    int test, t;
    int a, b, c;
    sf("%d", &test);
    for(t=1; t<=test; t++)
    {
        sf("%d %d %d", &a, &b, &c);

        if(((a*a)+(b*b))==(c*c) || ((b*b)+(c*c))==(a*a) || ((a*a)+(c*c))==(b*b))
            pf("Case %d: yes\n", t);
        else
            pf("Case %d: no\n", t);
    }
    return 0;
}

1006 - Hex-a-bonacci (LightOJ)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
#define pf printf
#define sf scanf
#define loop(i, n) for(i=0; i<(n); i++)
#define MAX  10005
typedef long long ll;

ll fn[MAX];

int main()
{
    int test, kase=0;
    ll i, a, b, c, d, e, f, n;
    cin >> test;
    while(test--)
    {
        cin >> a >> b >> c >> d >> e >> f >> n;

        fn[0] = a; fn[1] = b; fn[2] = c;
        fn[3] = d; fn[4] = e; fn[5] = f;
        for(i=6; i<=n; i++)
        {
            fn[i] = ((fn[i-1] + fn[i-2] + fn[i-3] + fn[i-4] + fn[i-5] + fn[i-6])%10000007 );
        }
        cout << "Case " << ++kase << ": " << (fn[n]%10000007) << endl;
    }
    return 0;
}

Friday, May 15, 2015

462A - Appleman and Easy Task(Codeforces)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
#define pf printf
#define sf scanf
#define loop(i, n) for(i=0; i<(n); i++)
#define MAX 105
typedef long long ll;

char a[MAX][MAX];
int d1[] = {0 , 0 , 1, -1};
int d2[] = {1, -1, 0, 0};
int n;

bool valid(int x, int y)
{
    return (x>=0 && x<n && y>=0 && y<n);
}

int main()
{
    int i, j, k;
    int x, y, cnt=0, flag=1;
    sf("%d", &n);

    loop(i, n)
        sf("%s", a[i]);

    loop(i, n)
    {
        loop(j, n)
        {
            loop(k, 4)
            {
                x = d1[k] + i;
                y = d2[k] + j;

                if(!valid(x, y))
                    continue;
                if(a[x][y]== 'o')
                    cnt++;
            }
            if(cnt & 1)
            {
                flag = 0;
                i = j = n+n;
            }
        }
    }
    if(flag==1)
        pf("YES\n");
    else
        pf("NO\n");
    return 0;
}

Thursday, May 14, 2015

459A - Pashmak and Garden(Codeforces)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
#define pf printf
#define sf scanf
#define loop(i, n) for(i=0; i<(n); i++)
#define MAX 100

int main()
{
    int x1, x2, x3, x4;
    int y1, y2, y3, y4;
    int d;
    while(sf("%d%d%d%d", &x1 , &y1, &x2, &y2)==4)
    {
        if(x1==x2)
        {
            d = abs(y2-y1);
            y3 = y1;
            y4 = y2;
            x3 = x1 + d;
            x4 = x2 + d;
        }
        else if(y1==y2)
        {
            d = abs(x2-x1);
            x3 = x1;
            x4 = x2;
            y3 = y1+d;
            y4 = y2+d;
        }
        else if(abs(x2-x1)==abs(y2-y1))
        {
            x3 = x1;
            y3 = y2;
            x4 = x2;
            y4 = y1;
        }
        else
        {
            pf("-1\n");
            continue;
        }
        pf("%d %d %d %d\n", x3, y3, x4, y4);
    }
    return 0;
}

Thursday, May 7, 2015

1043 - Triangle Partitioning (Light OJ)

  1. #include<stdio.h>
  2. #include<math.h>
  3. int main()
  4. {
  5.     long long test, t;
  6.     double AB, AC, BC, AD, ratio, ratio2;
  7.     scanf("%lld", &test);
  8.     for(t=1; t<=test; t++)
  9.     {
  10.         scanf("%lf%lf%lf%lf", &AB, &AC, &BC, &ratio);
  11.         ratio2 =ratio/(ratio+1);
  12.         AD = AB*sqrt(ratio2);
  13.         printf ("Case %lld: %lf\n",  t, AD);
  14.     }
  15.     return 0;
  16. }

1012 - Guilty Prince (Light OJ)

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cmath>
  4. #include<queue>
  5. #include<cstring>
  6. using namespace std;
  7. typedef pair<int,int> pii;
  8. #define pf printf
  9. #define sf scanf
  10. #define MAX 1000
  11.  
  12. char grid[50][50];
  13. bool vis[50][50];
  14. queue <pii> Q;
  15. int r , c;
  16. int dx[] = {00-11};
  17. int dy[] = {-1100};
  18.  
  19. bool valid(int x,int y)
  20. {
  21.     return x>=0 && y>=0 && x<&& y<&& (grid[x][y]=='.');
  22. }
  23. int bfs(int x, int y)
  24. {
  25.     int ux, uy, vx, vy, cnt=0;
  26.     memset(vis, 0sizeof(vis));
  27.     while(!Q.empty()) Q.pop(); //queue clear
  28.  
  29.     vis[x][y] =  true;
  30.     Q.push(pii(x,y));
  31.  
  32.     while(!Q.empty())
  33.     {
  34.         pii u = Q.front(); Q.pop();
  35.         ux = u.first; uy = u.second;
  36.         for(int i=0; i<4 ;i++)
  37.         {
  38.             vx = ux + dx[i];
  39.             vy = uy + dy[i];
  40.             if(!valid(vx, vy)) continue;
  41.             if(vis[vx][vy]) continue;
  42.             cnt++;
  43.             vis[vx][vy] = true;
  44.             Q.push(make_pair(vx, vy));
  45.         }
  46.     }
  47.     return cnt;
  48. }
  49. int main()
  50. {
  51.     //freopen("in.txt", "r", stdin);
  52.     int sr, sc, kase=0;
  53.     int test, t;
  54.     int i, j;
  55.     sf("%d"&test);
  56.     while(test--)
  57.     {
  58.         sf("%d%d"&c, &r);
  59.         for(i=0; i<r; i++)
  60.             sf("%s", grid[i]);
  61.  
  62.         for(i=0; i<r; i++)
  63.             for(j=0; j<c; j++)
  64.                 if(grid[i][j]=='@')
  65.                     sr = i , sc = j, i = j = c+r;
  66.  
  67.         int ans =  bfs(sr, sc)+1;
  68.         pf("Case %d: %d\n"++kase, ans);
  69.     }
  70.     return 0;
  71. }
  72.  

493B - Vasya and Wrestling (Codeforces)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
#define pf printf
#define sf scanf
#define loop(i, n) for(i=0; i<(n); i++)
#define MAX 10000
typedef long long ll;
vector<int> a, b;

int main()
{
    ll n, m, sum1, sum2, i, sz, j;
    int last, cnt , ans ;
    while(cin >> n)
    {
        ans =0;
        cnt=0;
        sum1 = sum2 = 0;
        a.clear();
        b.clear();
        loop(j,n)
        {
            cin >> m;
            if(j==(n-1)) last = m;
            if(m>0)
            {
                a.push_back(m);
                sum1 +=m;
            }
            else
            {
                m *=(-1);
                b.push_back(m);
                sum2 += m;
            }
        }
        sz=0;
        //cout << sum1 << " " << sum2 << endl;
        if(sum1>sum2) ans = 1;
        else if(sum2>sum1) ans = 2;
        else
        {
            if(a.size()> b.size()) sz = b.size();
            else                   sz = a.size();
            loop(i, sz)
            {
                if(a[i]>b[i])
                {
                    ans = 1;;
                    cnt++;
                    break;
                }
                else if(a[i]<b[i])
                {
                    ans = 2;
                    cnt++;
                    break;
                }
            }
            if(cnt==0)
            {
                if(last>0) ans = 1;
                else       ans = 2;
            }
        }
        if(ans==1) cout << "first" << endl;
        else if(ans==2) cout << "second" << endl;
    }
    return 0;
}

Compare equality of two string in C

#include <stdio.h> #include<string.h> int main() {     char* country = "Bangladesh";     char* country2;     ...