Friday, 1 May 2015

UVA 10161 Ant on a Chessboard

///     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 main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n, tc, kk=1, row, col, base;
    string s;
    while(cin>>n && n)
    {
        base = sqrt(n);
        if(base*base<n)
            base++;
        if(n>(base*base-base))
        {
            col=base;
            row=base*base-n+1;
        }
        else
        {
            row=base;
            col=n-(base-1)*(base-1);
        }
        if(base%2) swap(row, col);
        cout<<col<<" "<<row<<"\n";

    }
    return 0;
}

1 comment:

  1. why should I use

    #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

    ReplyDelete