本站遷移

因為我最近租用了網路空間以及網域,
故本站已遷移至新網站~
這邊的資訊已經正在進行搬移的工作~
希望各位可以到新網站去逛XD

New Website:
http://knightzone.org/

搜尋此網誌

2011年3月12日 星期六

[UVa]10673:Play with Floor and Ceil

首先,要先知道兩個括號的意義:
┌ ┐ => 取無條件進位(即是取ceil值)
└ ┘ => 取無條件捨去(即是取floor值)
接著p和q就刷過各種可能即可得解。

[C](1.528)
#include<stdio.h>
#include<math.h>
int main()
{
int n;
while( scanf( "%d", &n ) != EOF )
{
int i;
for( i = 0 ; i < n ; i++ )
{
double x, k;
while( scanf( "%lf%lf", &x, &k ) != EOF )
{
double p, q, xk_floor = floor(x/k), xk_ceil = ceil(x/k);
int ok = 0;
for( p = 0 ; !ok ; p++ )
for( q = 0 ; p*xk_floor + q*xk_ceil <= x && !ok ; q++ )
if( p*xk_floor + q*xk_ceil == x )
ok = 1;
p--;
q--;
printf( "%.0lf %.0lf\n", p, q );
}
}
}
return 0;
}
view raw UVa10673.c hosted with ❤ by GitHub

0 意見:

張貼留言