QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#630371 | #1845. Permute | light_ink_dots | WA | 139ms | 3948kb | C++20 | 1.3kb | 2024-10-11 18:09:50 | 2024-10-11 18:09:54 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int iv9=4;
int T,m,now,flg;
int c[100],d[100],p[100];
inline int cmp(int a,int b){
return c[a]>c[b];
}
int pow10(int n){//10^n mod 7
int res=1;
for(int i=1;i<=n%6;i++)
res=10*res%7;
return res;
}
void op(int x,int T=1){
while(T--)
c[x]--,p[++m]=x;
}
int main(){
scanf("%d",&T);
while(T--){
m=now=flg=0;
for(int i=0;i<=9;i++)
scanf("%d",&c[i]),d[i]=i;
sort(d,d+10,cmp);
if(c[d[3]])
op(d[0]),op(d[1]),op(d[2]),op(d[3]);
else if(c[d[2]]){
if(c[d[1]]>=2)
op(d[0],2),op(d[1],2),op(d[2]);
else if(c[d[0]]>=5)
op(d[0],5),op(d[1]),op(d[2]);
else op(d[0],c[d[0]]),op(d[1]),op(d[2]);
}
else if(c[d[1]]){
if(c[d[0]]>=3&&c[d[1]]>=2)
op(d[0],3),op(d[1],2);
else if(c[d[1]]==1)
op(d[0],min(5,c[d[0]])),op(d[1]);
else op(d[0],c[d[0]]),op(d[1],c[d[1]]);
}
else op(d[0]);
for(int i=0;i<=9;i++){
int v=pow10(c[i]);
now=(now*v+(v-1)*iv9*i)%7;
}
do{
int cur=now;
for(int i=1;i<=m;i++)
cur=(cur*10+p[i])%7;
if(cur==0){
flg=1,printf("%d\n",10+m);
for(int i=0;i<=9;i++)
printf("%d %d\n",c[i],i);
for(int i=1;i<=m;i++)
printf("1 %d\n",p[i]);
break;
}
}while(next_permutation(p+1,p+1+m));
if(flg==0)
puts("-1");
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3896kb
input:
3 0 1 0 0 1 0 0 0 0 0 0 2 0 0 0 0 1 0 0 1 0 1000000000 0 0 0 0 0 0 0 0
output:
12 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 1 1 4 14 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 1 1 1 1 6 1 9 -1
result:
ok T=3
Test #2:
score: -100
Wrong Answer
time: 139ms
memory: 3948kb
input:
100000 0 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 0 0 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1...
output:
14 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 1 9 1 3 1 5 1 7 1 6 14 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 1 8 0 9 1 0 1 1 1 6 1 4 14 0 0 0 1 0 2 0 3 0 4 0 5 0 6 1 7 0 8 1 9 1 0 1 1 1 3 1 2 14 0 0 0 1 0 2 0 3 0 4 0 5 0 6 1 7 1 8 0 9 1 1 1 2 1 5 1 6 14 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 6 1 4 1 8 1 2 -1 14...
result:
wrong answer Jury has the answer but participant has not