QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#42239 | #163. Change a Password | zhangchi | WA | 51ms | 3776kb | C++ | 960b | 2022-08-01 18:13:14 | 2022-08-01 18:13:15 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
int n,ans[11],va=0,vb,d=0,nw[11],num[11],nn=1,vans=90000005;
int pos[11];
string s;
void dfs(int t,int nm){
vb+=pos[t]*nm;
num[nm]=1;
nw[t]=nm;
if(t==n){
if(d==min(abs(va-vb),nn-abs(va-vb))){
if(vans>vb){
vans=vb;
for(int i=1;i<=n;i++){
ans[i]=nw[i];
}
}
}
if(d<min(abs(va-vb),nn-abs(va-vb))){
d=min(abs(va-vb),nn-abs(va-vb));
vans=vb;
for(int i=1;i<=n;i++){
ans[i]=nw[i];
}
}
}
else {
for(int i=9;i>=0;i--){
if(num[i]==0){
dfs(t+1,i);
vb-=pos[t+1]*i;
num[i]=0;
nw[t+1]=0;
}
}
}
}
int main(){
cin>>s;
n=s.size();
for(int i=0;i<n;i++){
va=va*10+s[i]-'0';
nn*=10;
}
pos[0]=0;
pos[1]=nn/10;
for(int i=2;i<=n;i++){
pos[i]=pos[i-1]/10;
}
for(int i=9;i>=0;i--){
dfs(1,i);
vb-=pos[1]*i;
num[i]=0;
nw[1]=0;
}
for(int i=1;i<=n;i++){
printf("%d",ans[i]);
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3764kb
input:
201
output:
701
result:
ok single line: '701'
Test #2:
score: 0
Accepted
time: 2ms
memory: 3636kb
input:
512
output:
012
result:
ok single line: '012'
Test #3:
score: 0
Accepted
time: 2ms
memory: 3620kb
input:
99999
output:
49876
result:
ok single line: '49876'
Test #4:
score: 0
Accepted
time: 36ms
memory: 3776kb
input:
765876346
output:
265874931
result:
ok single line: '265874931'
Test #5:
score: 0
Accepted
time: 20ms
memory: 3688kb
input:
15526126
output:
65498732
result:
ok single line: '65498732'
Test #6:
score: 0
Accepted
time: 34ms
memory: 3616kb
input:
596140804
output:
096142357
result:
ok single line: '096142357'
Test #7:
score: 0
Accepted
time: 19ms
memory: 3764kb
input:
12159688
output:
62159703
result:
ok single line: '62159703'
Test #8:
score: 0
Accepted
time: 3ms
memory: 3680kb
input:
259516
output:
759486
result:
ok single line: '759486'
Test #9:
score: 0
Accepted
time: 3ms
memory: 3580kb
input:
646368
output:
146370
result:
ok single line: '146370'
Test #10:
score: 0
Accepted
time: 3ms
memory: 3764kb
input:
901017
output:
401235
result:
ok single line: '401235'
Test #11:
score: 0
Accepted
time: 1ms
memory: 3720kb
input:
390529
output:
890527
result:
ok single line: '890527'
Test #12:
score: 0
Accepted
time: 5ms
memory: 3704kb
input:
5964700
output:
0964712
result:
ok single line: '0964712'
Test #13:
score: 0
Accepted
time: 16ms
memory: 3756kb
input:
32352460
output:
82351976
result:
ok single line: '82351976'
Test #14:
score: -100
Wrong Answer
time: 51ms
memory: 3620kb
input:
4903140382
output:
8493075126
result:
wrong answer 1st lines differ - expected: '9876543210', found: '8493075126'