QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#766705 | #9622. 有限小数 | 275307894a | WA | 7ms | 4036kb | C++14 | 1.5kb | 2024-11-20 18:18:21 | 2024-11-20 18:18:22 |
Judging History
answer
#include<bits/stdc++.h>
#define Gc() getchar()
#define Me(x,y) memset(x,y,sizeof(x))
#define Mc(x,y) memcpy(x,y,sizeof(x))
#define d(x,y) ((m)*(x-1)+(y))
#define R(n) (rnd()%(n)+1)
#define Pc(x) putchar(x)
#define LB lower_bound
#define UB upper_bound
#define fi first
#define se second
#define eb emplace_back
#define all(x) x.begin(),x.end()
using namespace std;using ll=long long;using db=double;using lb=long db;using ui=unsigned;using ull=unsigned long long;using pii=pair<int,int>;
const int N=200+5,M=N*4+5,K=1000+5,mod=1e9+7,Mod=mod-1;const db eps=1e-9;const int INF=1e9+7;mt19937 rnd(28382);
#define Tp template<typename T>
#define Ts template<typename T,typename... Ar>
namespace Debug{
Tp void _debug(char* f,T t){cerr<<f<<'='<<t<<endl;}
Ts void _debug(char* f,T x,Ar... y){while(*f!=',') cerr<<*f++;cerr<<'='<<x<<",";_debug(f+1,y...);}
#ifdef LOCAL
#define gdb(...) _debug((char*)#__VA_ARGS__,__VA_ARGS__)
#else
#define gdb(...) void()
#endif
}using namespace Debug;
int a,b;
void exgcd(int x,int y,int &a,int &b){
if(!y){a=1;b=0;return;}
exgcd(y,x%y,b,a);a-=x/y*b;
}
void Solve(){
scanf("%d%d",&a,&b);
int e=1;
while(b%2==0) b/=2,e*=2;
while(b%5==0) b/=5,e*=5;
int p,q;exgcd(b,e,p,q);
a=(1ll*(b-a)*q%b+b)%b;
int ansc=INF,ansd=0;
for(int i=1;1ll*i*b<=1e9;i*=2){
for(int j=1;1ll*i*j*b<=1e9;j*=5){
int c=1ll*a*i*j%b,d=i*j*b;
if(c<ansc) ansc=c,ansd=d;
}
}
printf("%d %d\n",ansc,ansd);
}
int main(){
int t=1;
scanf("%d",&t);
while(t--) Solve();
cerr<<clock()*1.0/CLOCKS_PER_SEC<<'\n';
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 4036kb
input:
4 1 2 2 3 3 7 19 79
output:
0 1 1 3 1 4375 3 316
result:
ok 4 case(s)
Test #2:
score: -100
Wrong Answer
time: 7ms
memory: 4016kb
input:
10000 11 12 28 53 17 60 2 35 17 181 80 123 68 141 79 163 71 99 13 64 33 61 15 32 16 61 11 86 33 74 128 143 40 53 7 23 30 31 5 6 86 181 73 91 13 23 71 81 1 2 7 38 117 160 33 83 129 151 88 153 25 58 16 19 19 141 95 124 43 96 71 139 11 59 106 109 93 152 34 43 17 99 1 57 20 159 16 25 5 73 159 170 172 17...
output:
1 3 1 828125000 1 3 1 4375 1 231680000 23 960937500 1 36096000 5 326 1 63360 0 1 1 61000 0 1 1 4880 1 86 1 722656250 1 11714560 1 331250 1 898437500 1 31 1 3 1 289600000 1 455000 1 115000000 1 1265625 0 1 1 23750 0 1 1 415 1 235937500 1 765000000 1 7250 1 2968750 1 4406250 3 1550 1 15 3 347500 1 944...
result:
wrong answer The result is not terminating.(Testcase 3)