QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#676961 | #7698. ISBN Conversion | new_game_plus_players# | WA | 0ms | 3792kb | C++14 | 1.1kb | 2024-10-26 06:35:52 | 2024-10-26 06:35:52 |
Judging History
answer
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
#define FF first
#define SS second
#define PB push_back
#define MP make_pair
bool solve() {
string s;
cin>>s;
vector<int> h, v;
for (int i=0; i<s.size(); i++) {
if (s[i]=='-') {
h.PB(i);
} else {
v.PB(s[i]=='X' ? 10 : s[i]-'0');
}
if (s[i]=='X' && i+1 < s.size()) return false;
}
if (h.size() > 3) return false;
if (h.size()==3 && h[2] != s.size()-2) return false;
if (h.size()>0 && h[0] == 0) return false;
if (h.size()>0 && h.back() ==s.size()-1) return false;
for (int i=1; i<h.size(); i++) {
if (h[i-1] + 1 == h[i]) return false;
}
if (v.size() != 10) return false;
int sum = 0;
for (int i=0; i<10; i++) {
sum += (10-i) * v[i];
}
if (sum%11 != 0) return false;
sum = 9 + 7 * 3 + 8;
for (int i=0; i<9; i++) {
sum += (3 - (i%2)*2) * v[i];
}
int cs = 10 - sum % 10;
string t = "978-";
t = t + s;
t[t.size()-1] = '0' + cs;
cout<<t<<endl;
return true;
}
int main() {
int Tn;
cin>>Tn;
while (Tn--) {
if (!solve()) {
puts("invalid");
}
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3572kb
input:
4 3-540-4258-02 039428013X 3-540-42580-2 0-14-028333-3
output:
invalid 978-0394280134 978-3-540-42580-9 invalid
result:
ok 4 lines
Test #2:
score: 0
Accepted
time: 0ms
memory: 3756kb
input:
25 ---------- ----------- ------------ ------------- XXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXX ---------X ----------X -----------X 01234567890 012345678901 0123456789012 -0123456789- 0123456789- -0123456789 01--23456789 012345678--9 0123456789-- --0123456789 98765432-1 987-654-321 87-645-32-...
output:
invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid
result:
ok 25 lines
Test #3:
score: 0
Accepted
time: 0ms
memory: 3792kb
input:
5 71234567X1 71234567X-1 2-2345678-9 8X-7X-123456 7123X8123X
output:
invalid invalid invalid invalid invalid
result:
ok 5 lines
Test #4:
score: 0
Accepted
time: 0ms
memory: 3752kb
input:
10 3-540-42580-X 3-540-42580-3 0393609394 0-19-853453-9 0070131510 0070131512 0070131514 0070131516 0070131518 007013151X
output:
invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid
result:
ok 10 lines
Test #5:
score: 0
Accepted
time: 0ms
memory: 3520kb
input:
11 767-13423100 65955-01-15-1 778592-4222 3283-138-073 8-802896-37-4 514-2481525 356-52708-6-6 4-810-73599-7 3-28438-244-8 1-98-2031209 82-54-55344X
output:
invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid invalid
result:
ok 11 lines
Test #6:
score: 0
Accepted
time: 0ms
memory: 3604kb
input:
12 0123456789 0-19-853453-1 0070131511 0-07-0131511 039428013-X 0-39-428013X 0-3942801-3X 0131103628 3-540-42580-2 3540425802 1535956828 1535-9-5682-8
output:
978-0123456786 978-0-19-853453-2 978-0070131514 978-0-07-0131514 978-039428013-4 978-0-39-4280134 978-0-3942801-34 978-0131103627 978-3-540-42580-9 978-3540425809 978-1535956826 978-1535-9-5682-6
result:
ok 12 lines
Test #7:
score: -100
Wrong Answer
time: 0ms
memory: 3704kb
input:
10 69289-01810 07-8-2406750 4946302-980 91-45-00652-0 2526831830 8370591930 022-18967-4-0 86340-22-25-0 862-57-6642-0 1691783730
output:
978-69289-0181: 978-07-8-2406757 978-4946302-985 978-91-45-00652-8 978-2526831832 978-8370591939 978-022-18967-4-3 978-86340-22-25-4 978-862-57-6642-6 978-1691783731
result:
wrong answer 1st lines differ - expected: '978-69289-01810', found: '978-69289-0181:'