2013年7月1日 星期一

2013/7/1 UVA 10673 - Play with Floor and Ceil

/* http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1614 */
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
    int SJ; scanf("%d", &SJ);
   
    while( SJ-- )
    {
        int x, k; scanf("%d %d", &x, &k);  
        if( x < k )
        {
            int op = (int)ceil((double)x/k);
            printf("0 %d\n", x/op);
            continue;
        }
        int o = (int)floor((double)x/k);
        int p = (int)ceil((double)x/k);
       
        for( int i = x/p; i >= 0;i--)
        {
            if( (x-p*i)%o == 0 ){ printf("%d %d\n", (x-p*i)/o, i); break; }
        }
    }
}

沒有留言:

張貼留言