QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#828488#1845. PermuteKazemaruWA 725ms48700kbC++141.5kb2024-12-23 17:03:212024-12-23 17:03:24

Judging History

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

  • [2024-12-23 17:03:24]
  • 评测
  • 测评结果:WA
  • 用时:725ms
  • 内存:48700kb
  • [2024-12-23 17:03:21]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define f(i,j,k) for(int i=j;i<=k;++i)
#define g(i,j,k) for(int i=j;i>=k;--i)
int n,m,s,l;
const int N=3e6,k=8;
bool f[9][9][9][9][9][9][9][7];
inline void ycl(){
	f[0][0][0][0][0][0][0][0]=1;
	f(a0,0,k)f(a1,0,k)f(a2,0,k)f(a3,0,k)f(a4,0,k)f(a5,0,k)f(a6,0,k)f(c,0,6)if(f[a0][a1][a2][a3][a4][a5][a6][c]){
		if(a0<k)f[a0+1][a1][a2][a3][a4][a5][a6][(c*10+0)%7]=1;
		if(a1<k)f[a0][a1+1][a2][a3][a4][a5][a6][(c*10+1)%7]=1;
		if(a2<k)f[a0][a1][a2+1][a3][a4][a5][a6][(c*10+2)%7]=1;
		if(a3<k)f[a0][a1][a2][a3+1][a4][a5][a6][(c*10+3)%7]=1;
		if(a4<k)f[a0][a1][a2][a3][a4+1][a5][a6][(c*10+4)%7]=1;
		if(a5<k)f[a0][a1][a2][a3][a4][a5+1][a6][(c*10+5)%7]=1;
		if(a6<k)f[a0][a1][a2][a3][a4][a5][a6+1][(c*10+6)%7]=1;
	}
}
int a[N],b[N],c[N],d[N],p[N],q[N];
int ck(int n,int p){
	if(!n)return 1;
	f(i,0,6)if(c[i]){
		--c[i];
		int q=(p-i+7)*5%7;d[n]=i;
		if(f[c[0]][c[1]][c[2]][c[3]][c[4]][c[5]][c[6]][q])return ck(n-1,q);
		++c[i];
	}
	return 0;
}
inline void doing(){
	f(i,0,6)b[i]=0;n=m=0;
	f(i,0,9)cin>>a[i],b[i%7]+=a[i];
	f(i,0,6)for(m+=c[i]=b[i]%6;c[i]+6<=min(k,b[i]);c[i]+=6)m+=6;
	if(!ck(m,0))return printf("-1\n"),void();
	f(i,1,m)f(c,0,9)if(c%7==d[i]&&a[c]){
		p[++n]=1;--a[q[n]=c];break;
	}
	f(i,0,6)f(c,0,9)if(c%7==i&&a[c])p[++n]=a[c],q[n]=c;
	printf("%lld\n",n);
	f(i,1,n)printf("%lld %lld\n",p[i],q[i]);
}
signed main(){
	ycl();
	int t;
	cin>>t;
	while(t--)doing();
	return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 376ms
memory: 48148kb

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:

2
1 1
1 4
4
1 9
1 6
1 1
1 1
-1

result:

ok T=3

Test #2:

score: 0
Accepted
time: 574ms
memory: 46864kb

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:

5
1 5
1 3
1 6
1 9
1 7
5
1 4
1 1
1 8
1 6
1 0
6
1 3
1 1
1 2
1 9
1 0
1 7
6
1 6
1 5
1 1
1 2
1 8
1 7
4
1 6
1 4
1 8
1 2
-1
4
1 1
1 8
1 9
1 0
5
1 6
1 3
1 4
1 2
1 0
5
1 1
1 2
1 9
1 5
1 7
-1
6
1 3
1 6
1 9
1 1
1 8
1 0
-1
8
1 4
1 3
1 6
1 5
1 2
1 9
1 1
1 7
-1
4
1 6
1 4
1 8
1 9
7
1 6
1 2
1 9
1 5
1 8
1 0
1 7
6
1 ...

result:

ok T=100000

Test #3:

score: 0
Accepted
time: 600ms
memory: 46840kb

input:

100000
2 1 2 1 0 1 1 0 2 0
1 2 0 1 1 2 1 1 2 1
2 2 2 1 0 2 1 1 2 2
1 1 0 2 0 2 0 1 2 0
1 0 2 2 1 2 1 0 2 2
0 1 2 2 2 1 0 2 1 2
1 1 2 0 0 1 1 0 1 0
1 0 2 2 2 0 1 0 1 1
2 1 1 2 1 0 2 0 0 1
1 0 2 2 2 0 2 1 0 1
2 0 1 1 1 1 1 1 2 1
0 1 1 0 2 0 2 0 1 2
2 1 1 0 2 0 2 1 0 1
1 2 2 2 0 2 1 1 1 0
2 0 0 2 0 2 2...

output:

10
1 3
1 5
1 6
1 2
1 2
1 1
1 8
1 8
1 0
1 0
12
1 6
1 5
1 4
1 5
1 3
1 9
1 1
1 1
1 8
1 8
1 0
1 7
15
1 3
1 5
1 6
1 5
1 2
1 2
1 9
1 9
1 1
1 1
1 8
1 8
1 0
1 0
1 7
9
1 5
1 3
1 5
1 1
1 3
1 8
1 8
1 0
1 7
13
1 5
1 6
1 4
1 5
1 3
1 3
1 2
1 2
1 9
1 9
1 8
1 8
1 0
13
1 4
1 5
1 3
1 4
1 3
1 2
1 2
1 9
1 9
1 1
1 8
1 7...

result:

ok T=100000

Test #4:

score: 0
Accepted
time: 645ms
memory: 47052kb

input:

100000
1 3 3 2 3 0 2 1 3 2
3 1 2 0 0 3 1 0 0 1
3 2 0 2 0 2 0 1 3 1
0 1 0 3 1 1 0 3 0 2
2 2 2 3 3 3 1 0 3 0
0 3 0 2 0 3 2 0 2 3
3 0 1 1 3 3 2 1 3 1
1 2 3 0 1 2 2 0 2 3
3 1 0 3 2 0 2 3 1 0
2 1 2 3 0 2 2 3 1 2
3 3 0 3 0 0 1 1 1 1
1 3 1 0 2 1 0 3 3 3
3 0 0 3 3 2 3 3 2 1
3 3 3 1 0 2 3 0 2 3
3 3 1 3 3 2 3...

output:

20
1 4
1 4
1 4
1 6
1 6
1 3
1 3
1 2
1 2
1 2
1 9
1 9
1 1
1 1
1 1
1 8
1 8
1 8
1 0
1 7
11
1 6
1 5
1 5
1 5
1 2
1 2
1 9
1 1
1 0
1 0
1 0
14
1 3
1 3
1 5
1 5
1 9
1 1
1 1
1 8
1 8
1 8
1 0
1 0
1 0
1 7
11
1 3
1 4
1 3
1 5
1 3
1 9
1 9
1 1
1 7
1 7
1 7
19
1 5
1 6
1 5
1 5
1 4
1 4
1 4
1 3
1 3
1 3
1 2
1 2
1 1
1 1
1 8
1...

result:

ok T=100000

Test #5:

score: 0
Accepted
time: 710ms
memory: 48700kb

input:

100000
0 1 3 1 1 0 1 3 0 1
4 3 4 1 3 4 3 4 2 3
1 3 1 3 3 4 3 4 2 2
1 0 1 0 3 3 3 1 1 1
3 4 1 3 1 0 1 2 1 2
0 1 2 1 4 1 0 3 4 2
0 4 1 2 4 3 2 1 1 3
0 4 0 4 2 1 0 2 1 3
4 4 0 4 4 1 4 1 4 1
1 3 2 1 1 4 2 3 4 1
3 3 4 3 3 4 1 2 1 4
3 1 4 0 3 0 4 3 1 4
3 0 3 2 3 4 2 3 1 3
3 1 2 4 3 4 2 4 1 1
2 1 0 2 2 3 2...

output:

11
1 4
1 6
1 2
1 3
1 2
1 2
1 9
1 1
1 7
1 7
1 7
31
1 6
1 6
1 6
1 5
1 5
1 5
1 5
1 4
1 4
1 4
1 3
1 2
1 2
1 2
1 2
1 9
1 9
1 9
1 1
1 1
1 1
1 8
1 8
1 0
1 0
1 0
1 0
1 7
1 7
1 7
1 7
26
1 6
1 6
1 5
1 6
1 5
1 5
1 5
1 4
1 4
1 4
1 3
1 3
1 3
1 2
1 9
1 9
1 1
1 1
1 1
1 8
1 8
1 0
1 7
1 7
1 7
1 7
14
1 6
1 5
1 6
1 6
...

result:

ok T=100000

Test #6:

score: -100
Wrong Answer
time: 725ms
memory: 47860kb

input:

100000
0 2 1 4 1 4 1 1 3 4
2 3 3 1 3 4 2 1 1 1
1 2 1 3 3 1 1 5 0 0
1 4 0 3 1 1 0 0 0 4
4 3 5 0 0 0 4 2 5 1
3 2 5 1 2 5 0 0 0 1
2 0 5 3 1 3 0 5 1 3
0 2 5 4 5 5 1 1 1 0
1 3 1 4 4 5 2 2 2 1
2 1 2 1 0 0 1 2 5 1
0 2 0 4 5 4 5 2 0 3
5 3 5 5 2 2 4 0 5 5
3 4 2 2 5 1 5 0 3 4
0 3 3 0 5 3 3 4 3 5
0 3 5 4 3 3 4...

output:

21
1 5
1 5
1 5
1 6
1 5
1 4
1 3
1 3
1 3
1 3
1 2
1 9
1 9
1 9
1 9
1 1
1 1
1 8
1 8
1 8
1 7
21
1 5
1 5
1 6
1 6
1 5
1 5
1 4
1 4
1 4
1 3
1 2
1 2
1 2
1 9
1 1
1 1
1 1
1 8
1 0
1 0
1 7
17
1 5
1 6
1 4
1 4
1 4
1 3
1 3
1 3
1 2
1 1
1 1
1 0
1 7
1 7
1 7
1 7
1 7
14
1 5
1 3
1 4
1 3
1 3
1 9
1 9
1 9
1 9
1 1
1 1
1 1
1 1
...

result:

wrong answer Jury has the answer but participant has not