QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#620951#5438. Half MixedMENDAXTL 282ms9708kbC++142.1kb2024-10-07 22:40:202024-10-07 22:40:20

Judging History

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

  • [2024-10-07 22:40:20]
  • 评测
  • 测评结果:TL
  • 用时:282ms
  • 内存:9708kb
  • [2024-10-07 22:40:20]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N=1e6+10,mod=998244353;

int gcd(int a,int b){return b?gcd(b,a%b):a;}
typedef pair<int,int> PII;
int path[N];
vector<int> num; 

int ge(int it){
	return it*(it+1)/2;
}

bool dfs(int u,int n1,int n2,int op,int it){
	int sheng=u*(u+1)/4-n2;
	if((u-n1)>sheng) return false;
	if((u-n1)*ge(it)<sheng) return false;
	if(n2==u*(u+1)/4&&n1==u){
		return true;
	}
	if(it<=0)return false;
	int zz=it; 
	if(it>10){
		it=upper_bound(num.begin(),num.end(),sheng)-num.begin();
		it--;
		it=min(it,zz);	
	}
	if(it==0) return false;
	int no=min((u-n1)/it,sheng/ge(it));
	if((u-n1)==sheng){
		it=1;
		no=sheng;
	}
	if(it==2){
		int p1=u-n1,p2=u*(u+1)/4-n2;
		int x=2*p1-p2;
		int no=p1-x;
	}
	for(int j=no;j>=0;j--){
		if(dfs(u,n1+j*it,n2+ge(it)*j,(op+j)%2,it-1)){ 
			int nums=0;
			for(int p=n1+1;p<=n1+it*j;p++){
				 path[p]=op;
				 nums++;
				 if(nums%it==0) op=1-op;
			}
			return true;
		}
		if(it==1) return false;
	} 
	return false;
}

void slove(){
	int n,m;cin>>n>>m;
	vector<vector<int>>g(n+4,vector<int>(m+5,0));
	if(n<m){
		if(n%4==0|n%4==3){
			dfs(n,0,0,0,n);
			for(int i=1;i<=m;i++){
				for(int j=1;j<=n;j++) g[j][i]=path[j];
			}
		}
		else if(m%4==3||m%4==0){
			dfs(m,0,0,0,m);
			for(int i=1;i<=n;i++){
				for(int j=1;j<=m;j++) g[i][j]=path[j];
			}
		}
		else {
			cout<<"No"<<endl;
			return ;
		}
	}
	else{
		if(m%4==3||m%4==0){
			dfs(m,0,0,0,m);
			for(int i=1;i<=n;i++){
				for(int j=1;j<=m;j++) g[i][j]=path[j];
			}
		}
		else if(n%4==0|n%4==3){
			dfs(n,0,0,0,n);
			for(int i=1;i<=m;i++){
				for(int j=1;j<=n;j++) g[j][i]=path[j];
			}
		}
		else {
			cout<<"No"<<endl;
			return ;
		}	
	}
	cout<<"Yes"<<endl;
	for(int i=1;i<=n;i++){	
		for(int j=1;j<=m;j++){
		 	cout<<g[i][j]<<" ";
		}
		cout<<endl;
	}
}
signed main(){
	ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
	for(int i=0;i<=1e4;i++) num.push_back(i*(i+1)/2);
	int T=1;
	cin>>T;
	while(T--) slove();
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3920kb

input:

2
2 3
1 1

output:

Yes
0 1 0 
0 1 0 
No

result:

ok OK, Accepted. (2 test cases)

Test #2:

score: 0
Accepted
time: 150ms
memory: 3860kb

input:

5382
1 1
1 2
2 1
1 3
2 2
3 1
1 4
2 3
3 2
4 1
1 5
2 4
3 3
4 2
5 1
1 6
2 5
3 4
4 3
5 2
6 1
1 7
2 6
3 5
4 4
5 3
6 2
7 1
1 8
2 7
3 6
4 5
5 4
6 3
7 2
8 1
1 9
2 8
3 7
4 6
5 5
6 4
7 3
8 2
9 1
1 10
2 9
3 8
4 7
5 6
6 5
7 4
8 3
9 2
10 1
1 11
2 10
3 9
4 8
5 7
6 6
7 5
8 4
9 3
10 2
11 1
1 12
2 11
3 10
4 9
5 8
6 ...

output:

No
No
No
Yes
0 1 0 
No
Yes
0 
1 
0 
Yes
0 0 1 0 
Yes
0 1 0 
0 1 0 
Yes
0 0 
1 1 
0 0 
Yes
0 
0 
1 
0 
No
Yes
0 0 1 0 
0 0 1 0 
Yes
0 1 0 
0 1 0 
0 1 0 
Yes
0 0 
0 0 
1 1 
0 0 
No
No
No
Yes
0 0 0 0 
1 1 1 1 
0 0 0 0 
Yes
0 1 0 
0 1 0 
0 1 0 
0 1 0 
No
No
Yes
0 0 0 0 1 1 0 
No
Yes
0 0 0 0 0 
1 1 1 1 1...

result:

ok OK, Accepted. (5382 test cases)

Test #3:

score: 0
Accepted
time: 141ms
memory: 3664kb

input:

1177
50 50
50 51
51 50
50 52
51 51
52 50
50 53
51 52
52 51
53 50
50 54
51 53
52 52
53 51
54 50
50 55
51 54
52 53
53 52
54 51
55 50
50 56
51 55
52 54
53 53
54 52
55 51
56 50
50 57
51 56
52 55
53 54
54 53
55 52
56 51
57 50
50 58
51 57
52 56
53 55
54 54
55 53
56 52
57 51
58 50
50 59
51 58
52 57
53 56
5...

output:

No
Yes
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1...

result:

ok OK, Accepted. (1177 test cases)

Test #4:

score: 0
Accepted
time: 135ms
memory: 3768kb

input:

420
100 100
100 101
101 100
100 102
101 101
102 100
100 103
101 102
102 101
103 100
100 104
101 103
102 102
103 101
104 100
100 105
101 104
102 103
103 102
104 101
105 100
100 106
101 105
102 104
103 103
104 102
105 101
106 100
100 107
101 106
102 105
103 104
104 103
105 102
106 101
107 100
100 108
...

output:

Yes
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...

result:

ok OK, Accepted. (420 test cases)

Test #5:

score: 0
Accepted
time: 153ms
memory: 9708kb

input:

6
900 900
900 901
901 900
900 902
901 901
902 900

output:

Yes
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok OK, Accepted. (6 test cases)

Test #6:

score: 0
Accepted
time: 244ms
memory: 3800kb

input:

3152
10 1
11 1
12 1
13 1
14 1
15 1
16 1
17 1
18 1
19 1
20 1
21 1
22 1
23 1
24 1
25 1
26 1
27 1
28 1
29 1
30 1
31 1
32 1
33 1
34 1
35 1
36 1
37 1
38 1
39 1
40 1
41 1
42 1
43 1
44 1
45 1
46 1
47 1
48 1
49 1
50 1
51 1
52 1
53 1
54 1
55 1
56 1
57 1
58 1
59 1
60 1
61 1
62 1
63 1
64 1
65 1
66 1
67 1
68 1
...

output:

No
Yes
0 
0 
0 
0 
0 
0 
0 
1 
1 
0 
1 
Yes
0 
0 
0 
0 
0 
0 
0 
1 
1 
1 
1 
0 
No
No
Yes
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
0 
1 
0 
1 
Yes
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
1 
1 
1 
0 
0 
No
No
Yes
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
1 
1 
1 
1 
0 
1 
Yes
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
...

result:

ok OK, Accepted. (3152 test cases)

Test #7:

score: 0
Accepted
time: 109ms
memory: 4260kb

input:

3152
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61
1 62
1 63
1 64
1 65
1 66
1 67
1 68
...

output:

No
Yes
0 0 0 0 0 0 0 1 1 0 1 
Yes
0 0 0 0 0 0 0 1 1 1 1 0 
No
No
Yes
0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 
Yes
0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 
No
No
Yes
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 
Yes
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 
No
No
Yes
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 
Yes
0 0 0 0 ...

result:

ok OK, Accepted. (3152 test cases)

Test #8:

score: 0
Accepted
time: 250ms
memory: 4100kb

input:

3064
100 1
101 1
102 1
103 1
104 1
105 1
106 1
107 1
108 1
109 1
110 1
111 1
112 1
113 1
114 1
115 1
116 1
117 1
118 1
119 1
120 1
121 1
122 1
123 1
124 1
125 1
126 1
127 1
128 1
129 1
130 1
131 1
132 1
133 1
134 1
135 1
136 1
137 1
138 1
139 1
140 1
141 1
142 1
143 1
144 1
145 1
146 1
147 1
148 1
1...

output:

Yes
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
1 
1 
1 
1 
0 
1 
0 
1 
0 
1 
0 
1 
0 
1 
0 
1 
0 
1 
0 
1 
0 
1 
0 
1 
0 
1 
0 
1 ...

result:

ok OK, Accepted. (3064 test cases)

Test #9:

score: 0
Accepted
time: 109ms
memory: 3864kb

input:

3064
1 100
1 101
1 102
1 103
1 104
1 105
1 106
1 107
1 108
1 109
1 110
1 111
1 112
1 113
1 114
1 115
1 116
1 117
1 118
1 119
1 120
1 121
1 122
1 123
1 124
1 125
1 126
1 127
1 128
1 129
1 130
1 131
1 132
1 133
1 134
1 135
1 136
1 137
1 138
1 139
1 140
1 141
1 142
1 143
1 144
1 145
1 146
1 147
1 148
1...

output:

Yes
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 
No
No
Yes
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...

result:

ok OK, Accepted. (3064 test cases)

Test #10:

score: 0
Accepted
time: 256ms
memory: 3848kb

input:

2316
1000 1
1001 1
1002 1
1003 1
1004 1
1005 1
1006 1
1007 1
1008 1
1009 1
1010 1
1011 1
1012 1
1013 1
1014 1
1015 1
1016 1
1017 1
1018 1
1019 1
1020 1
1021 1
1022 1
1023 1
1024 1
1025 1
1026 1
1027 1
1028 1
1029 1
1030 1
1031 1
1032 1
1033 1
1034 1
1035 1
1036 1
1037 1
1038 1
1039 1
1040 1
1041 1
1...

output:

Yes
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 ...

result:

ok OK, Accepted. (2316 test cases)

Test #11:

score: 0
Accepted
time: 109ms
memory: 3732kb

input:

2316
1 1000
1 1001
1 1002
1 1003
1 1004
1 1005
1 1006
1 1007
1 1008
1 1009
1 1010
1 1011
1 1012
1 1013
1 1014
1 1015
1 1016
1 1017
1 1018
1 1019
1 1020
1 1021
1 1022
1 1023
1 1024
1 1025
1 1026
1 1027
1 1028
1 1029
1 1030
1 1031
1 1032
1 1033
1 1034
1 1035
1 1036
1 1037
1 1038
1 1039
1 1040
1 1041
1...

output:

Yes
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok OK, Accepted. (2316 test cases)

Test #12:

score: 0
Accepted
time: 282ms
memory: 4412kb

input:

488
10000 1
10001 1
10002 1
10003 1
10004 1
10005 1
10006 1
10007 1
10008 1
10009 1
10010 1
10011 1
10012 1
10013 1
10014 1
10015 1
10016 1
10017 1
10018 1
10019 1
10020 1
10021 1
10022 1
10023 1
10024 1
10025 1
10026 1
10027 1
10028 1
10029 1
10030 1
10031 1
10032 1
10033 1
10034 1
10035 1
10036 1
...

output:

Yes
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 ...

result:

ok OK, Accepted. (488 test cases)

Test #13:

score: 0
Accepted
time: 108ms
memory: 4000kb

input:

488
1 10000
1 10001
1 10002
1 10003
1 10004
1 10005
1 10006
1 10007
1 10008
1 10009
1 10010
1 10011
1 10012
1 10013
1 10014
1 10015
1 10016
1 10017
1 10018
1 10019
1 10020
1 10021
1 10022
1 10023
1 10024
1 10025
1 10026
1 10027
1 10028
1 10029
1 10030
1 10031
1 10032
1 10033
1 10034
1 10035
1 10036
...

output:

Yes
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok OK, Accepted. (488 test cases)

Test #14:

score: -100
Time Limit Exceeded

input:

49
100000 1
100001 1
100002 1
100003 1
100004 1
100005 1
100006 1
100007 1
100008 1
100009 1
100010 1
100011 1
100012 1
100013 1
100014 1
100015 1
100016 1
100017 1
100018 1
100019 1
100020 1
100021 1
100022 1
100023 1
100024 1
100025 1
100026 1
100027 1
100028 1
100029 1
100030 1
100031 1
100032 1
...

output:


result: