QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#688241 | #2933. Sequinary Numerals | kevinyang# | AC ✓ | 1ms | 3840kb | C++17 | 1.0kb | 2024-10-30 01:26:32 | 2024-10-30 01:26:33 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
pii reduce(pii a){
int x = a.first;
int y = a.second;
int g = gcd(x,y);
x/=g;
y/=g;
return {x,y};
}
pii mul(pii a, pii b){
return reduce(make_pair(a.first * b.first, a.second * b.second));
}
pii add(pii a, pii b){
int d1 = a.second;
int d2 = b.second;
a.first *= d2;
a.second *= d2;
b.first *= d1;
b.second *= d1;
return reduce({a.first + b.first,a.second});
}
signed main() {
cin.tie(0)->sync_with_stdio(0);
string s;
cin >> s;
pii base = {3,2};
pii cur = {0,1};
for(char c : s){
pii v = {c - '0',1};
cur = mul(cur,base);
cur = add(cur,v);
}
if(cur.second == 1){
cout << cur.first << '\n';
}
else{
cout << cur.first/cur.second << ' ' << cur.first%cur.second << '/' << cur.second << '\n';
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 3544kb
input:
2101
output:
10
result:
ok single line: '10'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3544kb
input:
201
output:
5 1/2
result:
ok single line: '5 1/2'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3580kb
input:
2010211122112221202012
output:
16541 873801/1048576
result:
ok single line: '16541 873801/1048576'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3496kb
input:
22222222222222222222222222222222
output:
1725755 572407425/1073741824
result:
ok single line: '1725755 572407425/1073741824'
Test #5:
score: 0
Accepted
time: 0ms
memory: 3600kb
input:
11111111111111111111111111111111
output:
862877 1646149249/2147483648
result:
ok single line: '862877 1646149249/2147483648'
Test #6:
score: 0
Accepted
time: 1ms
memory: 3544kb
input:
10000000000000000000000000000000
output:
287626 1264544299/2147483648
result:
ok single line: '287626 1264544299/2147483648'
Test #7:
score: 0
Accepted
time: 0ms
memory: 3804kb
input:
1
output:
1
result:
ok single line: '1'
Test #8:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
2
output:
2
result:
ok single line: '2'
Test #9:
score: 0
Accepted
time: 0ms
memory: 3544kb
input:
10
output:
1 1/2
result:
ok single line: '1 1/2'
Test #10:
score: 0
Accepted
time: 0ms
memory: 3544kb
input:
11
output:
2 1/2
result:
ok single line: '2 1/2'
Test #11:
score: 0
Accepted
time: 0ms
memory: 3612kb
input:
12
output:
3 1/2
result:
ok single line: '3 1/2'
Test #12:
score: 0
Accepted
time: 0ms
memory: 3548kb
input:
20
output:
3
result:
ok single line: '3'
Test #13:
score: 0
Accepted
time: 0ms
memory: 3832kb
input:
21
output:
4
result:
ok single line: '4'
Test #14:
score: 0
Accepted
time: 0ms
memory: 3804kb
input:
22
output:
5
result:
ok single line: '5'
Test #15:
score: 0
Accepted
time: 0ms
memory: 3600kb
input:
201000101020120002210001022
output:
99539 7418955/33554432
result:
ok single line: '99539 7418955/33554432'
Test #16:
score: 0
Accepted
time: 1ms
memory: 3604kb
input:
21012020111221210112111012122211
output:
1056241 54451731/134217728
result:
ok single line: '1056241 54451731/134217728'
Test #17:
score: 0
Accepted
time: 0ms
memory: 3804kb
input:
121200
output:
25 19/32
result:
ok single line: '25 19/32'
Test #18:
score: 0
Accepted
time: 0ms
memory: 3544kb
input:
22010
output:
18 3/8
result:
ok single line: '18 3/8'
Test #19:
score: 0
Accepted
time: 0ms
memory: 3544kb
input:
1102121021020020112221202220100
output:
565301 930420511/1073741824
result:
ok single line: '565301 930420511/1073741824'
Test #20:
score: 0
Accepted
time: 0ms
memory: 3608kb
input:
1022020000221011110121211
output:
47476 16343961/16777216
result:
ok single line: '47476 16343961/16777216'
Test #21:
score: 0
Accepted
time: 0ms
memory: 3832kb
input:
21100210121101
output:
698 349/2048
result:
ok single line: '698 349/2048'
Test #22:
score: 0
Accepted
time: 0ms
memory: 3552kb
input:
122110002
output:
97 61/256
result:
ok single line: '97 61/256'
Test #23:
score: 0
Accepted
time: 0ms
memory: 3648kb
input:
200200011120110
output:
806 6545/8192
result:
ok single line: '806 6545/8192'
Test #24:
score: 0
Accepted
time: 0ms
memory: 3604kb
input:
212020012222220200010110012112
output:
540506 7899177/8388608
result:
ok single line: '540506 7899177/8388608'
Test #25:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
21201001011
output:
222 19/64
result:
ok single line: '222 19/64'