QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#688241#2933. Sequinary Numeralskevinyang#AC ✓1ms3840kbC++171.0kb2024-10-30 01:26:322024-10-30 01:26:33

Judging History

你现在查看的是最新测评结果

  • [2024-10-30 01:26:33]
  • 评测
  • 测评结果:AC
  • 用时:1ms
  • 内存:3840kb
  • [2024-10-30 01:26:32]
  • 提交

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'